Skip to content

Commit 2a48218

Browse files
committed
ALSA: usb-audio: Add mixer workaround for TRX40 and co
Some recent boards (supposedly with a new AMD platform) contain the USB audio class 2 device that is often tied with HD-audio. The device exposes an Input Gain Pad control (id=19, control=12) but this node doesn't behave correctly, returning an error for each inquiry of GET_MIN and GET_MAX that should have been mandatory. As a workaround, simply ignore this node by adding a usbmix_name_map table entry. The currently known devices are: * 0414:a002 - Gigabyte TRX40 Aorus Pro WiFi * 0b05:1916 - ASUS ROG Zenith II * 0b05:1917 - ASUS ROG Strix * 0db0:0d64 - MSI TRX40 Creator * 0db0:543d - MSI TRX40 BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=206543 Cc: <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
1 parent 1d3aa4a commit 2a48218

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

sound/usb/mixer_maps.c

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,14 @@ static const struct usbmix_name_map corsair_virtuoso_map[] = {
359359
{ 0 }
360360
};
361361

362+
/* Some mobos shipped with a dummy HD-audio show the invalid GET_MIN/GET_MAX
363+
* response for Input Gain Pad (id=19, control=12). Skip it.
364+
*/
365+
static const struct usbmix_name_map asus_rog_map[] = {
366+
{ 19, NULL, 12 }, /* FU, Input Gain Pad */
367+
{}
368+
};
369+
362370
/*
363371
* Control map entries
364372
*/
@@ -488,6 +496,26 @@ static const struct usbmix_ctl_map usbmix_ctl_maps[] = {
488496
.id = USB_ID(0x1b1c, 0x0a42),
489497
.map = corsair_virtuoso_map,
490498
},
499+
{ /* Gigabyte TRX40 Aorus Pro WiFi */
500+
.id = USB_ID(0x0414, 0xa002),
501+
.map = asus_rog_map,
502+
},
503+
{ /* ASUS ROG Zenith II */
504+
.id = USB_ID(0x0b05, 0x1916),
505+
.map = asus_rog_map,
506+
},
507+
{ /* ASUS ROG Strix */
508+
.id = USB_ID(0x0b05, 0x1917),
509+
.map = asus_rog_map,
510+
},
511+
{ /* MSI TRX40 Creator */
512+
.id = USB_ID(0x0db0, 0x0d64),
513+
.map = asus_rog_map,
514+
},
515+
{ /* MSI TRX40 */
516+
.id = USB_ID(0x0db0, 0x543d),
517+
.map = asus_rog_map,
518+
},
491519
{ 0 } /* terminator */
492520
};
493521

0 commit comments

Comments
 (0)