OSDN Git Service

ucm: return error if boot_list is empty
authorHui Wang <hui.wang@canonical.com>
Thu, 29 Oct 2020 06:51:30 +0000 (14:51 +0800)
committerJaroslav Kysela <perex@perex.cz>
Tue, 13 Apr 2021 17:12:35 +0000 (19:12 +0200)
If bootlist is empty, that means there is no BootSequence defined
in the ucm for this sound card, let set_boot_user() return error,
then alsactl could have chance to use non-ucm ways to initialize the
sound card.

BugLink: https://github.com/alsa-project/alsa-lib/pull/94
Signed-off-by: Hui Wang <hui.wang@canonical.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
src/ucm/main.c

index 18531c8..3a56bce 100644 (file)
@@ -2252,6 +2252,8 @@ static int set_boot_user(snd_use_case_mgr_t *uc_mgr,
                uc_error("error: wrong value for _boot (%s)", value);
                return -EINVAL;
        }
+       if (list_empty(&uc_mgr->boot_list))
+               return -ENOENT;
        err = execute_sequence(uc_mgr, &uc_mgr->boot_list,
                               &uc_mgr->value_list, NULL, NULL);
        if (err < 0) {