提交 52a9d3ef 编写于 作者: J Jean-Francois Moine 提交者: Mauro Carvalho Chehab

V4L/DVB (13897): gspca - main: Check the interface class at probe time.

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: NJean-Francois Moine <moinejf@free.fr>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 38719d45
......@@ -2062,9 +2062,13 @@ int gspca_dev_probe(struct usb_interface *intf,
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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册