]> git.alsa-project.org Git - alsa-utils.git/commitdiff
alsactl: init - iterate through all cards for the initial settings
authorJaroslav Kysela <perex@perex.cz>
Thu, 14 May 2020 16:14:31 +0000 (18:14 +0200)
committerJaroslav Kysela <perex@perex.cz>
Thu, 14 May 2020 16:18:22 +0000 (18:18 +0200)
The generic initialization code returns error code 99 (-99). Take
all those codes equal or above (bellow) this value as non-fatal.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
alsactl/init_parse.c

index c048fd3e18b8b3794931236a7e00e00ed999385d..12bffa5b006d3c7376f72a2a4a9c8d48910e77ca 100644 (file)
@@ -1745,7 +1745,7 @@ static int parse(struct space *space, const char *filename)
 int init(const char *filename, const char *cardname)
 {
        struct space *space;
-       int err = 0, card, first;
+       int err = 0, lasterr = 0, card, first;
        
        sysfs_init();
        if (!cardname) {
@@ -1767,11 +1767,17 @@ int init(const char *filename, const char *cardname)
                                space->rootdir = new_root_dir(filename);
                                if (space->rootdir != NULL)
                                        err = parse(space, filename);
+                               if (err <= -99) { /* non-fatal errors */
+                                       if (lasterr == 0)
+                                               lasterr = err;
+                                       err = 0;
+                               }
                                free_space(space);
                        }
                        if (err < 0)
                                break;
                }
+               err = lasterr;
        } else {
                card = snd_card_get_index(cardname);
                if (card < 0) {