ALSA: usb-audio: scarlett2: Fix scarlett2_*_ctl_put() return values
authorGeoffrey D. Bennett <g@b4.vu>
Sun, 20 Jun 2021 16:46:45 +0000 (02:16 +0930)
committerTakashi Iwai <tiwai@suse.de>
Mon, 21 Jun 2021 06:37:50 +0000 (08:37 +0200)
Mixer control put callbacks should return 1 if the value is changed.
Fix the sw_hw, level, pad, and button controls accordingly.

Signed-off-by: Geoffrey D. Bennett <g@b4.vu>
Link: https://lore.kernel.org/r/20210620164645.GA9221@m.b4.vu
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/mixer_scarlett_gen2.c

index d6298ab1de561e36bcdbd21a6bed4aa0f465600a..fe142b7ddb325fa1bc663dc76d4760fd135fbbb2 100644 (file)
@@ -1304,6 +1304,8 @@ static int scarlett2_sw_hw_enum_ctl_put(struct snd_kcontrol *kctl,
        /* Send SW/HW switch change to the device */
        err = scarlett2_usb_set_config(mixer, SCARLETT2_CONFIG_SW_HW_SWITCH,
                                       index, val);
+       if (err == 0)
+               err = 1;
 
 unlock:
        mutex_unlock(&private->data_mutex);
@@ -1364,6 +1366,8 @@ static int scarlett2_level_enum_ctl_put(struct snd_kcontrol *kctl,
        /* Send switch change to the device */
        err = scarlett2_usb_set_config(mixer, SCARLETT2_CONFIG_LEVEL_SWITCH,
                                       index, val);
+       if (err == 0)
+               err = 1;
 
 unlock:
        mutex_unlock(&private->data_mutex);
@@ -1414,6 +1418,8 @@ static int scarlett2_pad_ctl_put(struct snd_kcontrol *kctl,
        /* Send switch change to the device */
        err = scarlett2_usb_set_config(mixer, SCARLETT2_CONFIG_PAD_SWITCH,
                                       index, val);
+       if (err == 0)
+               err = 1;
 
 unlock:
        mutex_unlock(&private->data_mutex);
@@ -1469,6 +1475,8 @@ static int scarlett2_dim_mute_ctl_put(struct snd_kcontrol *kctl,
        /* Send switch change to the device */
        err = scarlett2_usb_set_config(mixer, SCARLETT2_CONFIG_DIM_MUTE,
                                       index, val);
+       if (err == 0)
+               err = 1;
 
 unlock:
        mutex_unlock(&private->data_mutex);