Greg:

Perusing the BitKeeper source archive for usb-2.4, I found two serious
errors in driver/usb/hub.c.  One of them is responsible for
oopses that have been reported to the linux-usb-devel mailing list.

Unfortunately, I can't tell you the line numbers, but they are very near
the end of the file, in the usb_reset_device() routine.  The first bug is
the line

        ret = usb_get_descriptor(dev, USB_DT_DEVICE, 0, &descriptor,
                sizeof(descriptor));

This should read

        ret = usb_get_descriptor(dev, USB_DT_DEVICE, 0, descriptor,
                sizeof(*descriptor));

(two changes).

The other is the line that says

        if (memcmp(&dev->descriptor, descriptor, sizeof(descriptor))) {

This should be

        if (memcmp(&dev->descriptor, descriptor, sizeof(*descriptor))) {

(one change).


Alan Stern






-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to