All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ALSA: usb-audio: fix control-request direction
@ 2021-05-21 13:37 ` Johan Hovold
  0 siblings, 0 replies; 4+ messages in thread
From: Johan Hovold @ 2021-05-21 13:37 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: Jaroslav Kysela, Geoffrey D. Bennett, alsa-devel, linux-usb,
	linux-kernel, Johan Hovold, stable

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@vger.kernel.org      # 5.10
Signed-off-by: Johan Hovold <johan@kernel.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


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] ALSA: usb-audio: fix control-request direction
@ 2021-05-21 13:37 ` Johan Hovold
  0 siblings, 0 replies; 4+ messages in thread
From: Johan Hovold @ 2021-05-21 13:37 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: alsa-devel, linux-usb, linux-kernel, stable, Johan Hovold,
	Geoffrey D. Bennett

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@vger.kernel.org      # 5.10
Signed-off-by: Johan Hovold <johan@kernel.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


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ALSA: usb-audio: fix control-request direction
  2021-05-21 13:37 ` Johan Hovold
@ 2021-05-21 14:19   ` Takashi Iwai
  -1 siblings, 0 replies; 4+ messages in thread
From: Takashi Iwai @ 2021-05-21 14:19 UTC (permalink / raw)
  To: Johan Hovold
  Cc: Takashi Iwai, Jaroslav Kysela, Geoffrey D. Bennett, alsa-devel,
	linux-usb, linux-kernel, stable

On Fri, 21 May 2021 15:37:42 +0200,
Johan Hovold wrote:
> 
> 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@vger.kernel.org      # 5.10
> Signed-off-by: Johan Hovold <johan@kernel.org>

Thanks, applied now.

> ---
> 
> 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

Yes, I'm going to apply them now, too.


Takashi

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ALSA: usb-audio: fix control-request direction
@ 2021-05-21 14:19   ` Takashi Iwai
  0 siblings, 0 replies; 4+ messages in thread
From: Takashi Iwai @ 2021-05-21 14:19 UTC (permalink / raw)
  To: Johan Hovold
  Cc: alsa-devel, linux-usb, linux-kernel, stable, Takashi Iwai,
	Geoffrey D. Bennett

On Fri, 21 May 2021 15:37:42 +0200,
Johan Hovold wrote:
> 
> 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@vger.kernel.org      # 5.10
> Signed-off-by: Johan Hovold <johan@kernel.org>

Thanks, applied now.

> ---
> 
> 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

Yes, I'm going to apply them now, too.


Takashi

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-05-21 14:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-21 13:37 [PATCH] ALSA: usb-audio: fix control-request direction Johan Hovold
2021-05-21 13:37 ` Johan Hovold
2021-05-21 14:19 ` Takashi Iwai
2021-05-21 14:19   ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.