usb_fill_bulk_urb() broken for USB1.1?

Keith Chew
2007-06-26T14:20:28Z

Hi

We have been using a Zydas based WIFI drivers under kernel 2.6.16.18
with great success. Recently, when we upgraded to 2.6.20.1 (also
tested on 2.6.21.5), we found that during initialisation, these calls
works with USB2.0 but stopped working on USB1.1:

usb_fill_bulk_urb();
usb_submit_urb();

The error code returned is -22 (-EINVAL). In 2.6.16.18, it works for
both USB2.0 and 1.1.

When we change to use usb_fill_int_urb(), it then works for USB1.1,
but takes up to 15 seconds (usually less than 5 seconds) for the
driver to initialise. Also, usb_fill_int_urb() does not work for
USB2.0 (kernel panic).

Can anyone point us to the right direction on how to get
usb_fill_bulk_urb() working on USB1.1? We need this as not all of the
deployed machines have USB2.0 enabled.

Regards
Keith