diff options
author | Takashi Iwai <tiwai@suse.de> | 2020-08-23 14:32:51 +0300 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2020-08-24 09:28:55 +0300 |
commit | 14b51ccd26742811ced3ee5e52ee6544f5d6105c (patch) | |
tree | 41677cdd785e5b4946b1c9988dd1a47a35336bae /sound/usb | |
parent | ee15d9b84ccb1c66fd8616257eb2a03b3ec79540 (diff) | |
download | linux-14b51ccd26742811ced3ee5e52ee6544f5d6105c.tar.xz |
ALSA: usb-audio: Correct wrongly matching entries with audio class
The commit 51ab5d77dcb8 ("ALSA: usb-audio: Properly match with audio
interface class") converted the quirk entries that have both vid/pid
pair and bInterface fields to match with all those with a new macro
USB_AUDIO_CLASS(). However, it turned out that those are false
conversions; all those (but the unknown KeithMcMillen device) are
actually with vendor-specific interface class, hence the conversions
broke the matching.
This patch corrects those entries to the right one,
USB_DEVICE_VENDOR_SPEC() (and USB_DEVICE() for KeithMcMillen to be
sure), and drop the unused USB_AUDIO_CLASS macro again.
Fixes: 51ab5d77dcb8 ("ALSA: usb-audio: Properly match with audio interface class")
Reported-by: Alexander Tsoy <alexander@tsoy.me>
Link: https://lore.kernel.org/r/20200823113251.10175-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb')
-rw-r--r-- | sound/usb/quirks-table.h | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h index 969c79d0c688..7fe9d3e75d59 100644 --- a/sound/usb/quirks-table.h +++ b/sound/usb/quirks-table.h @@ -35,14 +35,6 @@ .bInterfaceClass = USB_CLASS_AUDIO, \ .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL -/* Another standard entry matching with vid/pid and the audio class */ -#define USB_AUDIO_CLASS(vend, prod) \ - .match_flags = USB_DEVICE_ID_MATCH_DEVICE | \ - USB_DEVICE_ID_MATCH_INT_CLASS, \ - .idVendor = vend, \ - .idProduct = prod, \ - .bInterfaceClass = USB_CLASS_AUDIO - /* FTDI devices */ { USB_DEVICE(0x0403, 0xb8d8), @@ -77,13 +69,13 @@ }, /* E-Mu 0202 USB */ -{ USB_AUDIO_CLASS(0x041e, 0x3f02) }, +{ USB_DEVICE_VENDOR_SPEC(0x041e, 0x3f02) }, /* E-Mu 0404 USB */ -{ USB_AUDIO_CLASS(0x041e, 0x3f04) }, +{ USB_DEVICE_VENDOR_SPEC(0x041e, 0x3f04) }, /* E-Mu Tracker Pre */ -{ USB_AUDIO_CLASS(0x041e, 0x3f0a) }, +{ USB_DEVICE_VENDOR_SPEC(0x041e, 0x3f0a) }, /* E-Mu 0204 USB */ -{ USB_AUDIO_CLASS(0x041e, 0x3f19) }, +{ USB_DEVICE_VENDOR_SPEC(0x041e, 0x3f19) }, /* * HP Wireless Audio @@ -2756,7 +2748,7 @@ YAMAHA_DEVICE(0x7010, "UB99"), }, /* KeithMcMillen Stringport */ -{ USB_AUDIO_CLASS(0x1f38, 0x0001) }, +{ USB_DEVICE(0x1f38, 0x0001) }, /* FIXME: should be more restrictive matching */ /* Miditech devices */ { @@ -2979,7 +2971,7 @@ AU0828_DEVICE(0x2040, 0x7270, "Hauppauge", "HVR-950Q"), }, { /* Tascam US122 MKII - playback-only support */ - USB_AUDIO_CLASS(0x0644, 0x8021), + USB_DEVICE_VENDOR_SPEC(0x0644, 0x8021), .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) { .vendor_name = "TASCAM", .product_name = "US122 MKII", @@ -3611,4 +3603,3 @@ AU0828_DEVICE(0x2040, 0x7270, "Hauppauge", "HVR-950Q"), #undef USB_DEVICE_VENDOR_SPEC #undef USB_AUDIO_DEVICE -#undef USB_AUDIO_CLASS |