From d7be9b25b5eb56966d1956876601c0fa0d53f245 Mon Sep 17 00:00:00 2001 From: Jean-Francois Moine Date: Tue, 5 Jan 2010 04:44:00 -0300 Subject: [PATCH] --- yaml --- r: 181454 b: refs/heads/master c: 52a9d3ef0034f29cef1c5616faa72aa394b01b65 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/media/video/gspca/gspca.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 0509ff9abd46..09641f4eff7c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 38719d45f937178718d49516d1f72208d5d72d22 +refs/heads/master: 52a9d3ef0034f29cef1c5616faa72aa394b01b65 diff --git a/trunk/drivers/media/video/gspca/gspca.c b/trunk/drivers/media/video/gspca/gspca.c index 61be007e8fb3..351cf8a658fc 100644 --- a/trunk/drivers/media/video/gspca/gspca.c +++ b/trunk/drivers/media/video/gspca/gspca.c @@ -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; }