mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] ALSA: usb-audio: qcom: Initialize offload control return value
@ 2026-06-05  4:14 Cássio Gabriel
  2026-06-05 11:14 ` Takashi Iwai
  0 siblings, 1 reply; 2+ messages in thread
From: Cássio Gabriel @ 2026-06-05  4:14 UTC (permalink / raw)
  To: Takashi Iwai, Greg Kroah-Hartman, Wesley Cheng, Mark Brown,
	Jaroslav Kysela
  Cc: linux-sound, linux-kernel, notify, Cássio Gabriel

snd_usb_offload_create_ctl() returns ret after walking the USB PCM list,
but ret is only assigned after a playback stream passes the endpoint and
PCM-index filters.

If all playback streams are skipped, for example because there is no
playback endpoint or because all PCM indexes exceed the 0xff control
range, the function returns an uninitialized stack value.

Initialize ret to 0 so the no-control-created path returns deterministic
success, while preserving the existing negative error return when
snd_ctl_add() fails.

Fixes: a67656f011d1 ("ALSA: usb-audio: qcom: Add USB offload route kcontrol")
Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
---
 sound/usb/qcom/mixer_usb_offload.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/usb/qcom/mixer_usb_offload.c b/sound/usb/qcom/mixer_usb_offload.c
index 48e55d5872d5..b1591361e76c 100644
--- a/sound/usb/qcom/mixer_usb_offload.c
+++ b/sound/usb/qcom/mixer_usb_offload.c
@@ -113,7 +113,7 @@ int snd_usb_offload_create_ctl(struct snd_usb_audio *chip, struct device *bedev)
 	struct snd_usb_substream *subs;
 	struct snd_usb_stream *as;
 	char ctl_name[48];
-	int ret;
+	int ret = 0;
 
 	list_for_each_entry(as, &chip->pcm_list, list) {
 		subs = &as->substream[SNDRV_PCM_STREAM_PLAYBACK];

---
base-commit: a5b51356e6b570571592b1a0f9a994f2573227e2
change-id: 20260605-alsa-usb-qcom-offload-ret-init-2090b15d1e4f

Best regards,
--  
Cássio Gabriel <cassiogabrielcontato@gmail.com>


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

* Re: [PATCH] ALSA: usb-audio: qcom: Initialize offload control return value
  2026-06-05  4:14 [PATCH] ALSA: usb-audio: qcom: Initialize offload control return value Cássio Gabriel
@ 2026-06-05 11:14 ` Takashi Iwai
  0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2026-06-05 11:14 UTC (permalink / raw)
  To: Cássio Gabriel
  Cc: Takashi Iwai, Greg Kroah-Hartman, Wesley Cheng, Mark Brown,
	Jaroslav Kysela, linux-sound, linux-kernel, notify

On Fri, 05 Jun 2026 06:14:40 +0200,
Cássio Gabriel wrote:
> 
> snd_usb_offload_create_ctl() returns ret after walking the USB PCM list,
> but ret is only assigned after a playback stream passes the endpoint and
> PCM-index filters.
> 
> If all playback streams are skipped, for example because there is no
> playback endpoint or because all PCM indexes exceed the 0xff control
> range, the function returns an uninitialized stack value.
> 
> Initialize ret to 0 so the no-control-created path returns deterministic
> success, while preserving the existing negative error return when
> snd_ctl_add() fails.
> 
> Fixes: a67656f011d1 ("ALSA: usb-audio: qcom: Add USB offload route kcontrol")
> Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>

Applied to for-next branch now.  Thanks.


Takashi

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

end of thread, other threads:[~2026-06-05 11:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-05  4:14 [PATCH] ALSA: usb-audio: qcom: Initialize offload control return value Cássio Gabriel
2026-06-05 11:14 ` Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®