[PATCH] snd-usb-audio: explicitly match Logitech QuickCam

Daniel Drake <[email protected]>
Newsgroups gmane.linux.alsa.devel,gmane.linux.usb.devel
Message-ID <[email protected]>
Commit 93c8bf45e083b89dffe3a708363c15c1b220c723 modified the USB device
matching behaviour to ignore interface class matches if the device class
is vendor-specific.

This patch adds an explicit ID match for the Logitech QuickCam Messenger,
which has a vendor specific device class (but standards-compliant audio
interfaces).

This fixes a 2.6.20 regression where the audio component of this device was
no longer usable.

http://bugs.gentoo.org/show_bug.cgi?id=175715
https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/93822
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3040

Based on a patch from sergiom

Signed-off-by: Daniel Drake <[email protected]>

Index: linux/sound/usb/usbquirks.h
===================================================================
--- linux.orig/sound/usb/usbquirks.h
+++ linux/sound/usb/usbquirks.h
@@ -40,6 +40,21 @@
 	.bInterfaceClass = USB_CLASS_VENDOR_SPEC
 
 /*
+ * Logitech QuickCam: bDeviceClass is vendor-specific, so generic interface
+ * class matches do not take effect without an explicit ID match.
+ */
+
+{
+	.match_flags = USB_DEVICE_ID_MATCH_DEVICE |
+		       USB_DEVICE_ID_MATCH_INT_CLASS |
+		       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
+	.idVendor = 0x046d,
+	.idProduct = 0x08f0,
+	.bInterfaceClass = USB_CLASS_AUDIO,
+	.bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL
+},
+
+/*
  * Yamaha devices
  */
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.