ALSA: scarlett2: Check for phantom persistence config item
authorGeoffrey D. Bennett <g@b4.vu>
Sun, 24 Dec 2023 19:21:56 +0000 (05:51 +1030)
committerTakashi Iwai <tiwai@suse.de>
Fri, 29 Dec 2023 14:41:22 +0000 (15:41 +0100)
Allow for the phantom persistence config item to not exist. This is
needed for the Scarlett Gen 4 series.

Signed-off-by: Geoffrey D. Bennett <g@b4.vu>
Link: https://lore.kernel.org/r/3ccaf8069280827bd6c44f103fcb770bd50b7e2e.1703444932.git.g@b4.vu
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/mixer_scarlett2.c

index 064d6d34a8ab8ad2044aa37891c65400f209baf0..84dd9c43afde113483dc8c925e1438cb88873f17 100644 (file)
@@ -2621,11 +2621,15 @@ static int scarlett2_update_input_other(struct usb_mixer_interface *mixer)
                if (err < 0)
                        return err;
 
-               err = scarlett2_usb_get_config(
-                       mixer, SCARLETT2_CONFIG_PHANTOM_PERSISTENCE,
-                       1, &private->phantom_persistence);
-               if (err < 0)
-                       return err;
+               if (scarlett2_has_config_item(
+                               private,
+                               SCARLETT2_CONFIG_PHANTOM_PERSISTENCE)) {
+                       err = scarlett2_usb_get_config(
+                               mixer, SCARLETT2_CONFIG_PHANTOM_PERSISTENCE,
+                               1, &private->phantom_persistence);
+                       if (err < 0)
+                               return err;
+               }
        }
 
        return 0;
@@ -3779,7 +3783,9 @@ static int scarlett2_add_line_in_ctls(struct usb_mixer_interface *mixer)
                                return err;
                }
        }
-       if (info->phantom_count) {
+       if (info->phantom_count &&
+           scarlett2_has_config_item(private,
+                                     SCARLETT2_CONFIG_PHANTOM_PERSISTENCE)) {
                err = scarlett2_add_new_ctl(
                        mixer, &scarlett2_phantom_persistence_ctl, 0, 1,
                        "Phantom Power Persistence Capture Switch", NULL);