* [bug report] ALSA: usb-audio: Add error checks against get_min_max*()
@ 2026-04-14 8:27 Dan Carpenter
2026-04-14 9:24 ` Takashi Iwai
0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2026-04-14 8:27 UTC (permalink / raw)
To: Rong Zhang; +Cc: linux-sound
Hello Rong Zhang,
Commit 4f55a85cd4fc ("ALSA: usb-audio: Add error checks against
get_min_max*()") from Apr 11, 2026 (linux-next), leads to the
following Smatch static checker warning:
sound/usb/mixer.c:2711 build_audio_procunit()
error: uninitialized symbol 'err'.
sound/usb/mixer.c
2660 if (state->mixer->protocol > UAC_VERSION_1 &&
2661 !uac_v2v3_control_is_writeable(controls[valinfo->control / 8],
2662 valinfo->control))
2663 cval->master_readonly = 1;
2664
2665 /* get min/max values */
2666 switch (type) {
2667 case UAC_PROCESS_UP_DOWNMIX: {
2668 bool mode_sel = false;
2669
2670 switch (state->mixer->protocol) {
2671 case UAC_VERSION_1:
2672 case UAC_VERSION_2:
2673 default:
2674 if (cval->control == UAC_UD_MODE_SELECT)
2675 mode_sel = true;
2676 break;
2677 case UAC_VERSION_3:
2678 if (cval->control == UAC3_UD_MODE_SELECT)
2679 mode_sel = true;
2680 break;
2681 }
2682
2683 if (mode_sel) {
2684 __u8 *control_spec = uac_processing_unit_specific(desc,
2685 state->mixer->protocol);
2686 cval->min = 1;
2687 cval->max = control_spec[0];
2688 cval->res = 1;
2689 cval->initialized = 1;
2690 break;
err not initialized at this break.
2691 }
2692
2693 err = get_min_max(cval, valinfo->min_value);
2694 break;
2695 }
2696 case USB_XU_CLOCK_RATE:
2697 /*
2698 * E-Mu USB 0404/0202/TrackerPre/0204
2699 * samplerate control quirk
2700 */
2701 cval->min = 0;
2702 cval->max = 5;
2703 cval->res = 1;
2704 cval->initialized = 1;
2705 err = 0;
2706 break;
2707 default:
2708 err = get_min_max(cval, valinfo->min_value);
2709 break;
2710 }
--> 2711 if (err < 0 && err != -EAGAIN) {
2712 usb_mixer_elem_info_free(cval);
2713 return err;
2714 }
2715
2716 err = get_cur_ctl_value(cval, cval->control << 8, &val);
2717 if (err < 0) {
2718 usb_mixer_elem_info_free(cval);
2719 return -EINVAL;
2720 }
2721
This email is a free service from the Smatch-CI project [smatch.sf.net].
regards,
dan carpenter
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [bug report] ALSA: usb-audio: Add error checks against get_min_max*()
2026-04-14 8:27 [bug report] ALSA: usb-audio: Add error checks against get_min_max*() Dan Carpenter
@ 2026-04-14 9:24 ` Takashi Iwai
0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2026-04-14 9:24 UTC (permalink / raw)
To: Dan Carpenter; +Cc: Rong Zhang, linux-sound
On Tue, 14 Apr 2026 10:27:32 +0200,
Dan Carpenter wrote:
>
> Hello Rong Zhang,
>
> Commit 4f55a85cd4fc ("ALSA: usb-audio: Add error checks against
> get_min_max*()") from Apr 11, 2026 (linux-next), leads to the
> following Smatch static checker warning:
>
> sound/usb/mixer.c:2711 build_audio_procunit()
> error: uninitialized symbol 'err'.
>
> sound/usb/mixer.c
> 2660 if (state->mixer->protocol > UAC_VERSION_1 &&
> 2661 !uac_v2v3_control_is_writeable(controls[valinfo->control / 8],
> 2662 valinfo->control))
> 2663 cval->master_readonly = 1;
> 2664
> 2665 /* get min/max values */
> 2666 switch (type) {
> 2667 case UAC_PROCESS_UP_DOWNMIX: {
> 2668 bool mode_sel = false;
> 2669
> 2670 switch (state->mixer->protocol) {
> 2671 case UAC_VERSION_1:
> 2672 case UAC_VERSION_2:
> 2673 default:
> 2674 if (cval->control == UAC_UD_MODE_SELECT)
> 2675 mode_sel = true;
> 2676 break;
> 2677 case UAC_VERSION_3:
> 2678 if (cval->control == UAC3_UD_MODE_SELECT)
> 2679 mode_sel = true;
> 2680 break;
> 2681 }
> 2682
> 2683 if (mode_sel) {
> 2684 __u8 *control_spec = uac_processing_unit_specific(desc,
> 2685 state->mixer->protocol);
> 2686 cval->min = 1;
> 2687 cval->max = control_spec[0];
> 2688 cval->res = 1;
> 2689 cval->initialized = 1;
> 2690 break;
>
> err not initialized at this break.
Thanks for the report. Let's plug the hole with a simple fix to add
"err = 0" here.
I'm going to submit a fix patch.
Takashi
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-04-14 9:24 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-14 8:27 [bug report] ALSA: usb-audio: Add error checks against get_min_max*() Dan Carpenter
2026-04-14 9:24 ` Takashi Iwai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox