Messages in this thread | | | From | Sergei Organov <> | Subject | Re: [PATCH] Airprime driver improvements to allow full speed EvDO transfers | Date | Tue, 11 Jul 2006 22:31:34 +0400 |
| |
Andy Gay <andy@andynet.net> writes: > Adapted from an earlier patch by Greg KH <gregkh@suse.de>. > That patch added multiple read urbs and larger transfer buffers to allow > data transfers at full EvDO speed.
Below are two more problems with the patch, one of which existed in the original Greg's patch resulting in return with "Message too long" (EMSGSIZE) from driver's open() function.
[...]
> + /* something happened, so free up the memory for this urb /*
There should be '*/' at the end of this line, not '/*', otherwise the driver even doesn't compile.
[...] > +static int airprime_open(struct usb_serial_port *port, struct file *filp) > +{ [...] > + usb_fill_bulk_urb(urb, serial->dev, > + usb_rcvbulkpipe(serial->dev, > + port->bulk_out_endpointAddress),
Here, it should obviously be port->bulk_in_endpointAddress, not port->bulk_out_endpointAddress, otherwise devices that have endpoints numeration like, say 0x01-out, 0x82-in (unlike more usual usual 0x01-out, 0x81-in), won't work returning -EMSGSIZE from open().
After these fixes, I've been able to run the driver with my own USB device and achieved about 320 Kbytes/s read speed. That's still not very exciting as I have another driver here in development that seems to be able to do about 650 Kbytes/s with the same device.
-- Sergei. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |