ALSA: scarlett2: Add missing error check to scarlett2_usb_set_config()
authorGeoffrey D. Bennett <g@b4.vu>
Tue, 19 Dec 2023 17:37:21 +0000 (04:07 +1030)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jan 2024 23:35:39 +0000 (15:35 -0800)
[ Upstream commit ca459dfa7d4ed9098fcf13e410963be6ae9b6bf3 ]

scarlett2_usb_set_config() calls scarlett2_usb_get() but was not
checking the result. Return the error if it fails rather than
continuing with an invalid value.

Signed-off-by: Geoffrey D. Bennett <g@b4.vu>
Fixes: 9e15fae6c51a ("ALSA: usb-audio: scarlett2: Allow bit-level access to config")
Link: https://lore.kernel.org/r/def110c5c31dbdf0a7414d258838a0a31c0fab67.1703001053.git.g@b4.vu
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/usb/mixer_scarlett_gen2.c

index 64cfe2d..834b936 100644 (file)
@@ -1390,7 +1390,10 @@ static int scarlett2_usb_set_config(
                size = 1;
                offset = config_item->offset;
 
-               scarlett2_usb_get(mixer, offset, &tmp, 1);
+               err = scarlett2_usb_get(mixer, offset, &tmp, 1);
+               if (err < 0)
+                       return err;
+
                if (value)
                        tmp |= (1 << index);
                else