diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2010-05-26 10:37:58 +0200 |
---|---|---|
committer | Clemens Ladisch <clemens@ladisch.de> | 2010-05-26 10:37:58 +0200 |
commit | b4ff58b685fe9da25901cd3e395dd2f2d64532df (patch) | |
tree | a939f265f94827c95738b8ed21e67bb57a0a0f4b /alsactl/state.c | |
parent | bd15b1e5ea23d25fcb2ccccd1cf25350c60fe527 (diff) | |
download | alsa-utils-b4ff58b685fe9da25901cd3e395dd2f2d64532df.tar.gz |
Revert wrong parts of "alsactl: use snd_config_imake* functions"
This reverts the parts of commit e509df69a5100df28921980362488f6947df0aae
that accidentally reverted a bunch of earlier commits.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Diffstat (limited to 'alsactl/state.c')
-rw-r--r-- | alsactl/state.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/alsactl/state.c b/alsactl/state.c index 01b1cd6..7eb107f 100644 --- a/alsactl/state.c +++ b/alsactl/state.c @@ -1131,7 +1131,6 @@ static int restore_config_value2(snd_ctl_t *handle, snd_ctl_elem_info_t *info, } snd_ctl_elem_value_set_byte(ctl, idx, val); return 1; - break; default: break; } @@ -1418,6 +1417,7 @@ static int set_controls(int card, snd_config_t *top, int doit) snd_ctl_card_info_alloca(&info); sprintf(name, "hw:%d", card); + dbg("device='%s', doit=%i", name, doit); err = snd_ctl_open(&handle, name, 0); if (err < 0) { error("snd_ctl_open error: %s", snd_strerror(err)); @@ -1429,6 +1429,7 @@ static int set_controls(int card, snd_config_t *top, int doit) goto _close; } id = snd_ctl_card_info_get_id(info); + dbg("card-info-id: '%s'", id); err = snd_config_searchv(top, &control, "state", id, "control", 0); if (err < 0) { if (force_restore) { @@ -1454,24 +1455,25 @@ static int set_controls(int card, snd_config_t *top, int doit) goto _close; } + dbg("maxnumid=%i", maxnumid); /* check if we have additional controls in driver */ /* in this case we should go through init procedure */ if (!doit && maxnumid >= 0) { - snd_ctl_elem_id_t *id; snd_ctl_elem_info_t *info; - snd_ctl_elem_id_alloca(&id); snd_ctl_elem_info_alloca(&info); snd_ctl_elem_info_set_numid(info, maxnumid+1); if (snd_ctl_elem_info(handle, info) == 0) { /* not very informative */ /* but value is used for check only */ err = -EAGAIN; + dbg("more controls than maxnumid?"); goto _close; } } _close: snd_ctl_close(handle); + dbg("result code: %i", err); return err; } @@ -1596,9 +1598,9 @@ int load_state(const char *file, const char *initfile, const char *cardname, err = init(initfile, cardname1); if (err < 0) { finalerr = err; - initfailed(card, "init"); + initfailed(card, "init", err); } - initfailed(card, "restore"); + initfailed(card, "restore", -ENOENT); } if (first) finalerr = 0; /* no cards, no error code */ @@ -1631,14 +1633,14 @@ int load_state(const char *file, const char *initfile, const char *cardname, sprintf(cardname1, "%i", card); err = init(initfile, cardname1); if (err < 0) { - initfailed(card, "init"); + initfailed(card, "init", err); finalerr = err; } } if ((err = set_controls(card, config, 1))) { if (!force_restore) finalerr = err; - initfailed(card, "restore"); + initfailed(card, "restore", err); } } } else { @@ -1653,12 +1655,12 @@ int load_state(const char *file, const char *initfile, const char *cardname, if (do_init && set_controls(cardno, config, 0)) { err = init(initfile, cardname); if (err < 0) { - initfailed(cardno, "init"); - return err; + initfailed(cardno, "init", err); + finalerr = err; } } if ((err = set_controls(cardno, config, 1))) { - initfailed(cardno, "restore"); + initfailed(cardno, "restore", err); if (!force_restore) return err; } |