From: Jaroslav Kysela Date: Thu, 14 May 2020 16:14:31 +0000 (+0200) Subject: alsactl: init - iterate through all cards for the initial settings X-Git-Tag: v1.2.3~12 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=598488c4af555c31c234ea2e88e52cb39a2c045a;p=alsa-utils.git alsactl: init - iterate through all cards for the initial settings 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 --- diff --git a/alsactl/init_parse.c b/alsactl/init_parse.c index c048fd3..12bffa5 100644 --- a/alsactl/init_parse.c +++ b/alsactl/init_parse.c @@ -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) {