forked from luck/tmp_suning_uos_patched
[media] gspca - main: Add endpoint direction test in alt_xfer
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 OUTPUT one. This patch adds the endpoint direction test to be sure to return an INPUT endpoint Signed-off-by: Patrice CHOTARD <patricechotard@free.fr> Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
8e3c08bb41
commit
7106225a9e
@ -630,7 +630,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;
|
||||
|
Loading…
Reference in New Issue
Block a user