[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210521133742.18098-1-johan@kernel.org>
Date: Fri, 21 May 2021 15:37:42 +0200
From: Johan Hovold <johan@...nel.org>
To: Takashi Iwai <tiwai@...e.com>
Cc: Jaroslav Kysela <perex@...ex.cz>, "Geoffrey D. Bennett" <g@...vu>,
alsa-devel@...a-project.org, linux-usb@...r.kernel.org,
linux-kernel@...r.kernel.org, Johan Hovold <johan@...nel.org>,
stable@...r.kernel.org
Subject: [PATCH] ALSA: usb-audio: fix control-request direction
The direction of the pipe argument must match the request-type direction
bit or control requests may fail depending on the host-controller-driver
implementation.
Fix the UAC2_CS_CUR request which erroneously used usb_sndctrlpipe().
Fixes: 93db51d06b32 ("ALSA: usb-audio: Check valid altsetting at parsing rates for UAC2/3")
Cc: stable@...r.kernel.org # 5.10
Signed-off-by: Johan Hovold <johan@...nel.org>
---
There's a related bug in sound/usb/mixer_scarlett_gen2.c, which
Geoffrey reported and said he was preparing a patch for here:
https://lore.kernel.org/r/20210520180819.GA95348@m.b4.vu
Johan
sound/usb/format.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/usb/format.c b/sound/usb/format.c
index e6ff317a6785..2287f8c65315 100644
--- a/sound/usb/format.c
+++ b/sound/usb/format.c
@@ -436,7 +436,7 @@ static bool check_valid_altsetting_v2v3(struct snd_usb_audio *chip, int iface,
if (snd_BUG_ON(altsetting >= 64 - 8))
return false;
- err = snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), UAC2_CS_CUR,
+ err = snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), UAC2_CS_CUR,
USB_TYPE_CLASS | USB_RECIP_INTERFACE | USB_DIR_IN,
UAC2_AS_VAL_ALT_SETTINGS << 8,
iface, &raw_data, sizeof(raw_data));
--
2.26.3
Powered by blists - more mailing lists