]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Aug 2025 14:39:28 +0000 (16:39 +0200)
[ Upstream commit 9f320dfb0ffc555aa2eac8331dee0c2c16f67633 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/pci/hda/patch_ca0132.c

index d40197fb5fbd58142d70fb5e78d586c964c55739..77432e06f3e32cb219c26ec99190184afc4f0f61 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,