[PATCH] USB: Fix usbfs regression

From: Greg KH
Date: Fri Feb 25 2005 - 23:26:43 EST


You are correct, the patch is valid, nice catch. Linus, please apply.

------------

I have just tested kernel version 2.6.11-rc5 and noticed it is not
possible to do an USB transfer by submitting an URB to an output
endpoint. This breaks newest versions of libusb and thus SANE,
gphoto2, and a lot of software.

The bug has been introduced in version 2.6.11-rc1 and is due to a
wrong comparison.

Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <greg@xxxxxxxxx>

diff -urN linux-2.6.11-rc5.orig/drivers/usb/core/devio.c linux-2.6.11-rc5/drivers/usb/core/devio.c
--- linux-2.6.11-rc5.orig/drivers/usb/core/devio.c 2005-02-26 03:15:14.000000000 +0100
+++ linux-2.6.11-rc5/drivers/usb/core/devio.c 2005-02-26 03:16:15.000000000 +0100
@@ -841,7 +841,7 @@
if ((ret = checkintf(ps, ifnum)))
return ret;
}
- if ((uurb.endpoint & ~USB_ENDPOINT_DIR_MASK) != 0)
+ if ((uurb.endpoint & USB_ENDPOINT_DIR_MASK) != 0)
ep = ps->dev->ep_in [uurb.endpoint & USB_ENDPOINT_NUMBER_MASK];
else
ep = ps->dev->ep_out [uurb.endpoint & USB_ENDPOINT_NUMBER_MASK];


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/