From 598488c4af555c31c234ea2e88e52cb39a2c045a Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 14 May 2020 18:14:31 +0200 Subject: [PATCH] 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 --- alsactl/init_parse.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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) { -- 2.47.1