V4L/DVB (10102): uvcvideo: Ignore interrupt endpoint for built-in iSight webcams.
Built-in iSight webcams have an interrupt endpoint but spit proprietary data that don't conform to the UVC status endpoint messages. Don't try to handle the interrupt endpoint for those cameras. Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
f8dd4af6d4
commit
538e7a004b
1 changed files with 7 additions and 2 deletions
|
@ -1147,8 +1147,13 @@ static int uvc_parse_control(struct uvc_device *dev)
|
||||||
buffer += buffer[0];
|
buffer += buffer[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check if the optional status endpoint is present. */
|
/* Check if the optional status endpoint is present. Built-in iSight
|
||||||
if (alts->desc.bNumEndpoints == 1) {
|
* webcams have an interrupt endpoint but spit proprietary data that
|
||||||
|
* don't conform to the UVC status endpoint messages. Don't try to
|
||||||
|
* handle the interrupt endpoint for those cameras.
|
||||||
|
*/
|
||||||
|
if (alts->desc.bNumEndpoints == 1 &&
|
||||||
|
!(dev->quirks & UVC_QUIRK_BUILTIN_ISIGHT)) {
|
||||||
struct usb_host_endpoint *ep = &alts->endpoint[0];
|
struct usb_host_endpoint *ep = &alts->endpoint[0];
|
||||||
struct usb_endpoint_descriptor *desc = &ep->desc;
|
struct usb_endpoint_descriptor *desc = &ep->desc;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue