diff mbox series

ALSA: usb-audio: Add mute TLV for playback volumes on RODE NT-USB

Message ID 20220311201400.235892-1-lars@metafoo.de
State Accepted
Commit 0f306cca42fe879694fb5e2382748c43dc9e0196
Headers show
Series ALSA: usb-audio: Add mute TLV for playback volumes on RODE NT-USB | expand

Commit Message

Lars-Peter Clausen March 11, 2022, 8:14 p.m. UTC
For the RODE NT-USB the lowest Playback mixer volume setting mutes the
audio output. But it is not reported as such causing e.g. PulseAudio to
accidentally mute the device when selecting a low volume.

Fix this by applying the existing quirk for this kind of issue when the
device is detected.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 sound/usb/mixer_quirks.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

Comments

Takashi Iwai March 12, 2022, 7:51 a.m. UTC | #1
On Fri, 11 Mar 2022 21:14:00 +0100,
Lars-Peter Clausen wrote:
> 
> For the RODE NT-USB the lowest Playback mixer volume setting mutes the
> audio output. But it is not reported as such causing e.g. PulseAudio to
> accidentally mute the device when selecting a low volume.
> 
> Fix this by applying the existing quirk for this kind of issue when the
> device is detected.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>

Thanks, applied now.


Takashi
diff mbox series

Patch

diff --git a/sound/usb/mixer_quirks.c b/sound/usb/mixer_quirks.c
index e447ddd6854c..d35cf54cab33 100644
--- a/sound/usb/mixer_quirks.c
+++ b/sound/usb/mixer_quirks.c
@@ -3360,9 +3360,10 @@  void snd_usb_mixer_fu_apply_quirk(struct usb_mixer_interface *mixer,
 		if (unitid == 7 && cval->control == UAC_FU_VOLUME)
 			snd_dragonfly_quirk_db_scale(mixer, cval, kctl);
 		break;
-	/* lowest playback value is muted on C-Media devices */
-	case USB_ID(0x0d8c, 0x000c):
-	case USB_ID(0x0d8c, 0x0014):
+	/* lowest playback value is muted on some devices */
+	case USB_ID(0x0d8c, 0x000c): /* C-Media */
+	case USB_ID(0x0d8c, 0x0014): /* C-Media */
+	case USB_ID(0x19f7, 0x0003): /* RODE NT-USB */
 		if (strstr(kctl->id.name, "Playback"))
 			cval->min_mute = 1;
 		break;