[<prev] [next>] [day] [month] [year] [list]
Message-ID: <4D87AE00.8090403@sfr.fr>
Date: Mon, 21 Mar 2011 20:58:56 +0100
From: Patrice Chotard <patrice.chotard@....fr>
To: linux-media@...r.kernel.org
CC: linux-kernel@...r.kernel.org,
Jean-Francois Moine <moinejf@...e.fr>,
Theodore Kilgore <kilgota@...ach.math.auburn.edu>
Subject: [PATCH] add endpoint direction test in alt_xfer
Hi,
This patch fixes a bug in gspca, more precisely in alt_xfer().
This function looks for an input transfer endpoint in an alternate setting.
By default it returns the first endpoint corresponding to the transfer type
indicated in parameter.
But with some USB devices, the first endpoint corresponding to the transfer
type is not always an INPUT endpoint but an OUTPOUT one.
This patch adds the endpoint direction test to be sure to return an INPUT endpoint
Regards
Signed-off-by: Patrice CHOTARD <patricechotard@...e.fr>
---
drivers/media/video/gspca/gspca.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c
index f21f2a2..03823ea 100644
--- a/drivers/media/video/gspca/gspca.c
+++ b/drivers/media/video/gspca/gspca.c
@@ -631,7 +631,8 @@ static struct usb_host_endpoint *alt_xfer(struct usb_host_interface *alt,
ep = &alt->endpoint[i];
attr = ep->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
if (attr == xfer
- && ep->desc.wMaxPacketSize != 0)
+ && ep->desc.wMaxPacketSize != 0
+ && usb_endpoint_dir_in(&ep->desc))
return ep;
}
return NULL;
--
1.7.0.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists