Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 52a9d3ef authored by Jean-Francois Moine's avatar Jean-Francois Moine Committed by Mauro Carvalho Chehab
Browse files

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: default avatarJean-Francois Moine <moinejf@free.fr>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 38719d45
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -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;
	}