[patch 27/29] USB: fix Bug in usb-skeleton.c

Greg KH
2005-07-30T00:53:23Z

[-- Attachment #1: usb-skeleton-fix.patch --]
[-- Type: text/plain, Size: 1223 bytes --]

From: "Conger, Chris A." <CHRIS.A.CONGER@saic.com>

Compare endpoint address to USB_ENDPOINT_DIR_MASK to determine endpoint
direction...

From: "Conger, Chris A." <CHRIS.A.CONGER@saic.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
drivers/usb/usb-skeleton.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)

--- gregkh-2.6.orig/drivers/usb/usb-skeleton.c 2005-07-29 11:29:47.000000000 -0700
+++ gregkh-2.6/drivers/usb/usb-skeleton.c 2005-07-29 11:36:33.000000000 -0700
@@ -257,7 +257,8 @@
endpoint = &iface_desc->endpoint[i].desc;

if (!dev->bulk_in_endpointAddr &&
- (endpoint->bEndpointAddress & USB_DIR_IN) &&
+ ((endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK)
+ == USB_DIR_IN) &&
((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK)
== USB_ENDPOINT_XFER_BULK)) {
/* we found a bulk in endpoint */
@@ -272,7 +273,8 @@
}

if (!dev->bulk_out_endpointAddr &&
- !(endpoint->bEndpointAddress & USB_DIR_OUT) &&
+ ((endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK)
+ == USB_DIR_OUT) &&
((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK)
== USB_ENDPOINT_XFER_BULK)) {
/* we found a bulk out endpoint */

--