We have 2 products which can perform better with increased Bulk transfers Device No. 1: According to the hardware spec of on of our product Available Bulk Transfer Size are: - 188 * n bytes, where n = 1 ~ 256. Although we can drive that one with 15K as well when setting the HW register down to it. Device No. 2 only creates jitter video with Bulk transfer sizes which are below 24064 bytes, no such chipfeature is available to decrease the bulk transfer size. http://sundtek.de/images/dtvjitter2.jpg with transfer size of 24064: http://sundtek.de/images/gooddata.jpg The patch takes the features of Device No. 1 into account allowing a maximum buffer of 48128 bytes. Those issues have been evaluated with MacOSX and a customized patched Linux version. Device No. 2 also corrupts on MacOSX with too small packet sizes, Windows and Mac are using 24064 bytes. Default Bulk Transfersize of device No. 1 is around 1-2k which leads to very high cpu usage, updating it to 15k lowers that one.
--- ./drivers/usb/core/devio.c_old 2011-10-12 14:23:34.000000000 +0200 +++ ./drivers/usb/core/devio.c 2011-10-12 14:25:30.000000000 +0200 @@ -107,7 +107,7 @@ #define USB_DEVICE_DEV MKDEV(USB_DEVICE_MAJOR, 0) -#define MAX_USBFS_BUFFER_SIZE 16384 +#define MAX_USBFS_BUFFER_SIZE 48128 static int connected(struct dev_state *ps)