summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound/usb
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2012-10-26 12:41:01 +0000
committerhselasky <hselasky@FreeBSD.org>2012-10-26 12:41:01 +0000
commit7829c04fcae895bc54db8e99f300e73d85eb7849 (patch)
treed04039bc59afaea424075f29dcaaf2514c06eb65 /sys/dev/sound/usb
parent75d07df660cd89004b4fc17a347272965edfe396 (diff)
downloadFreeBSD-src-7829c04fcae895bc54db8e99f300e73d85eb7849.zip
FreeBSD-src-7829c04fcae895bc54db8e99f300e73d85eb7849.tar.gz
Make sure the vendor class quirk only matches the vendor specific
class, else multiple pcm devices can appear on certain USB audio devices. MFC after: 1 week
Diffstat (limited to 'sys/dev/sound/usb')
-rw-r--r--sys/dev/sound/usb/uaudio.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c
index 986be43..e9fce7c 100644
--- a/sys/dev/sound/usb/uaudio.c
+++ b/sys/dev/sound/usb/uaudio.c
@@ -618,7 +618,8 @@ uaudio_probe(device_t dev)
/* lookup non-standard device */
if (uaa->info.bInterfaceClass != UICLASS_AUDIO) {
- if (usb_test_quirk(uaa, UQ_AU_VENDOR_CLASS) == 0)
+ if (uaa->info.bInterfaceClass != UICLASS_VENDOR ||
+ usb_test_quirk(uaa, UQ_AU_VENDOR_CLASS) == 0)
return (ENXIO);
}
OpenPOWER on IntegriCloud