Commit b7a597d1 authored by Jean-Francois Moine's avatar Jean-Francois Moine Committed by Mauro Carvalho Chehab

V4L/DVB (13925): gspca - main: Change the check of the USB video interface.

Some webcams have many interfaces with the same interface class, so the
previous interface check did not work.
The new code checks if the interface number is zero or the only one.
Signed-off-by: default avatarJean-Francois Moine <moinejf@free.fr>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 6f081264
...@@ -2063,14 +2063,11 @@ int gspca_dev_probe(struct usb_interface *intf, ...@@ -2063,14 +2063,11 @@ int gspca_dev_probe(struct usb_interface *intf,
return -ENODEV; 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; interface = &intf->cur_altsetting->desc;
if (interface->bInterfaceClass != USB_CLASS_VENDOR_SPEC if (dev->config->desc.bNumInterfaces != 1 &&
&& interface->bInterfaceClass != USB_CLASS_PER_INTERFACE) { interface->bInterfaceNumber != 0)
PDEBUG(D_PROBE, "Interface class %d not handled here",
interface->bInterfaceClass);
return -ENODEV; return -ENODEV;
}
/* create the device */ /* create the device */
if (dev_size < sizeof *gspca_dev) if (dev_size < sizeof *gspca_dev)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment