The USB video interface was checked as having the number zero, but
some webcams have other values. The test is now done on the interface
class which may be either 255 (vendor spec) or 0 (class per interface).
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
PDEBUG(D_ERR, "Too many config");
return -ENODEV;
}
+
+ /* check the interface class and ignore the sound interfaces */
interface = &intf->cur_altsetting->desc;
- if (interface->bInterfaceNumber > 0) {
- PDEBUG(D_ERR, "intf != 0");
+ if (interface->bInterfaceClass != USB_CLASS_VENDOR_SPEC
+ && interface->bInterfaceClass != USB_CLASS_PER_INTERFACE) {
+ PDEBUG(D_PROBE, "Interface class %d not handled here",
+ interface->bInterfaceClass);
return -ENODEV;
}