| From 14a720dc1f5332f3bdf30a23a3bc549e81be974c Mon Sep 17 00:00:00 2001 |
| From: Hector Martin <marcan@marcan.st> |
| Date: Mon, 10 Aug 2020 13:53:19 +0900 |
| Subject: ALSA: usb-audio: fix overeager device match for MacroSilicon MS2109 |
| |
| From: Hector Martin <marcan@marcan.st> |
| |
| commit 14a720dc1f5332f3bdf30a23a3bc549e81be974c upstream. |
| |
| Matching by device matches all interfaces, which breaks the video/HID |
| portions of the device depending on module load order. |
| |
| Fixes: e337bf19f6af ("ALSA: usb-audio: add quirk for MacroSilicon MS2109") |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Hector Martin <marcan@marcan.st> |
| Link: https://lore.kernel.org/r/20200810045319.128745-1-marcan@marcan.st |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/usb/quirks-table.h | 8 +++++++- |
| 1 file changed, 7 insertions(+), 1 deletion(-) |
| |
| --- a/sound/usb/quirks-table.h |
| +++ b/sound/usb/quirks-table.h |
| @@ -3623,7 +3623,13 @@ ALC1220_VB_DESKTOP(0x26ce, 0x0a01), /* A |
| * with. |
| */ |
| { |
| - USB_DEVICE(0x534d, 0x2109), |
| + .match_flags = USB_DEVICE_ID_MATCH_DEVICE | |
| + USB_DEVICE_ID_MATCH_INT_CLASS | |
| + USB_DEVICE_ID_MATCH_INT_SUBCLASS, |
| + .idVendor = 0x534d, |
| + .idProduct = 0x2109, |
| + .bInterfaceClass = USB_CLASS_AUDIO, |
| + .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL, |
| .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) { |
| .vendor_name = "MacroSilicon", |
| .product_name = "MS2109", |