After compiling a new 2.6.0 kernel I found my hp4300c scanner was no longer
properly detected and on the console I saw,

drivers/usb/core/message.c:
usb_control/bulk_msg: timeout

I found the following:

In 2.4.21 drivers/usb/usb.c line 2157 was:
err = usb_get_string(dev, dev->string_langid, index, tbuf, 255);

Now in 2.6.0 drivers/usb/core/message.c line 1208:
err = usb_get_string(dev, dev->string_langid, index, tbuf, len);

The len value returned by the 4300c is the length of the string. My other USB
devices return the length of the string plus header.

I think the 4300c is returning the wrong length for the string descriptors. I
changed the line to be the same as it was in 2.4.21, which simply requests the
maximum length, and now my 4300c is happy.

Regards



-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to