diff options
author | Daniel Drake <dsd@gentoo.org> | 2007-05-07 03:27:05 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2007-05-11 10:56:17 -0400 |
commit | a91214589e6527b18f52bc0b31253f9dfb4665e6 (patch) | |
tree | 45d6adab7f094fa62b05de5c046325a03c0b68c4 /sound/usb | |
parent | d427c77eb2484c37d76b8e157e2b0b82c9b03062 (diff) |
[ALSA] usb-audio: explicitly match Logitech QuickCam
Commit 93c8bf45e083b89dffe3a708363c15c1b220c723 modified the USB device
matching behaviour to ignore interface class matches if the device class
is vendor-specific.
This patch adds explicit ID matches for Logitech QuickCam devices, which
have a vendor specific device class (but standards-compliant audio
interfaces).
This fixes a 2.6.20 regression where the audio component of these
devices 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 <dsd@gentoo.org>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/usb')
-rw-r--r-- | sound/usb/usbquirks.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/sound/usb/usbquirks.h b/sound/usb/usbquirks.h index 858262068f4f..8fcbe93b2589 100644 --- a/sound/usb/usbquirks.h +++ b/sound/usb/usbquirks.h | |||
@@ -40,6 +40,29 @@ | |||
40 | .bInterfaceClass = USB_CLASS_VENDOR_SPEC | 40 | .bInterfaceClass = USB_CLASS_VENDOR_SPEC |
41 | 41 | ||
42 | /* | 42 | /* |
43 | * Logitech QuickCam: bDeviceClass is vendor-specific, so generic interface | ||
44 | * class matches do not take effect without an explicit ID match. | ||
45 | */ | ||
46 | { | ||
47 | .match_flags = USB_DEVICE_ID_MATCH_DEVICE | | ||
48 | USB_DEVICE_ID_MATCH_INT_CLASS | | ||
49 | USB_DEVICE_ID_MATCH_INT_SUBCLASS, | ||
50 | .idVendor = 0x046d, | ||
51 | .idProduct = 0x08f0, | ||
52 | .bInterfaceClass = USB_CLASS_AUDIO, | ||
53 | .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL | ||
54 | }, | ||
55 | { | ||
56 | .match_flags = USB_DEVICE_ID_MATCH_DEVICE | | ||
57 | USB_DEVICE_ID_MATCH_INT_CLASS | | ||
58 | USB_DEVICE_ID_MATCH_INT_SUBCLASS, | ||
59 | .idVendor = 0x046d, | ||
60 | .idProduct = 0x08f6, | ||
61 | .bInterfaceClass = USB_CLASS_AUDIO, | ||
62 | .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL | ||
63 | }, | ||
64 | |||
65 | /* | ||
43 | * Yamaha devices | 66 | * Yamaha devices |
44 | */ | 67 | */ |
45 | 68 | ||