diff --git a/[refs] b/[refs] index 4401f607a00e..605675a371a7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6f081264f835467a3b69edc71753dac9d3ff770a +refs/heads/master: b7a597d11073c4c3db79743d38cc942d324b2233 diff --git a/trunk/drivers/media/video/gspca/gspca.c b/trunk/drivers/media/video/gspca/gspca.c index 351cf8a658fc..04aaa88ce4f5 100644 --- a/trunk/drivers/media/video/gspca/gspca.c +++ b/trunk/drivers/media/video/gspca/gspca.c @@ -2063,14 +2063,11 @@ int gspca_dev_probe(struct usb_interface *intf, return -ENODEV; } - /* check the interface class and ignore the sound interfaces */ + /* the USB video interface must be the first one */ interface = &intf->cur_altsetting->desc; - if (interface->bInterfaceClass != USB_CLASS_VENDOR_SPEC - && interface->bInterfaceClass != USB_CLASS_PER_INTERFACE) { - PDEBUG(D_PROBE, "Interface class %d not handled here", - interface->bInterfaceClass); + if (dev->config->desc.bNumInterfaces != 1 && + interface->bInterfaceNumber != 0) return -ENODEV; - } /* create the device */ if (dev_size < sizeof *gspca_dev)