]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ALSA: hda/ca0132: Fix missing error handling in ca0132_alt_select_out()
authorTakashi Iwai <tiwai@suse.de>
Wed, 6 Aug 2025 09:44:22 +0000 (11:44 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 6 Aug 2025 12:36:02 +0000 (14:36 +0200)
There are a couple of cases where the error is ignored or the error
code isn't propagated in ca0132_alt_select_out().  Fix those.

Fixes: def3f0a5c700 ("ALSA: hda/ca0132 - Add quirk output selection structures.")
Link: https://patch.msgid.link/20250806094423.8843-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/hda/codecs/ca0132.c

index b716f721f25d695ceb17ffd041256cfaee69397f..b7d456e16c93f071aec72062b98aae1fa0e4738b 100644 (file)
@@ -4802,7 +4802,8 @@ static int ca0132_alt_select_out(struct hda_codec *codec)
        if (err < 0)
                goto exit;
 
-       if (ca0132_alt_select_out_quirk_set(codec) < 0)
+       err = ca0132_alt_select_out_quirk_set(codec);
+       if (err < 0)
                goto exit;
 
        switch (spec->cur_out_type) {
@@ -4892,6 +4893,8 @@ static int ca0132_alt_select_out(struct hda_codec *codec)
                                spec->bass_redirection_val);
        else
                err = ca0132_alt_surround_set_bass_redirection(codec, 0);
+       if (err < 0)
+               goto exit;
 
        /* Unmute DSP now that we're done with output selection. */
        err = dspio_set_uint_param(codec, 0x96,