usbfs and MAX_USBFS_BUFFER_SIZE
Daniel Drake <[email protected]>
| Newsgroups | gmane.linux.usb.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, Can someone explain the purpose of MAX_USBFS_BUFFER_SIZE? It is defined in drivers/usb/core/devio.c: #define MAX_USBFS_BUFFER_SIZE 16384 It is checked in proc_do_submiturb() (i.e. async urb submissions) for control, bulk, and interrupt transfers. If you want to do a bulk transfer of larger size, no problem: split your request into a few smaller URBs and everything will work. If you want to do an interrupt transfer of larger size, no problem: same solution as bulk But the real problem: If you want to do a control transfer of larger size, you're out of luck! You can't divide up control messages like that, since the setup packet header for each URB is interpreted by the device. It looks like the only way to submit control URBs larger than 16kb using usbfs is to use the synchronous USBDEVFS_CONTROL ioctl -- there is no async way. Any comments/thoughts on that? Thanks, Daniel ------------------------------------------------------------------------- SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel