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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.