ucm: suppress the no device (no UCM card) errors on request

It seems that users are confused when the UCM configuration
is not ready for the particular hardware. Actually, we don't
allow a fine grained message classification in alsa-lib and
UCM API. Allow suppression of this specific type of messages
on the application request (typically alsactl).

BugLink: https://github.com/alsa-project/alsa-utils/issues/111
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Jaroslav Kysela 2021-10-28 11:48:54 +02:00
parent a6a22d82a0
commit 23198a72cd
3 changed files with 10 additions and 1 deletions

View file

@ -1383,6 +1383,11 @@ int snd_use_case_mgr_open(snd_use_case_mgr_t **uc_mgr,
INIT_LIST_HEAD(&mgr->variable_list);
pthread_mutex_init(&mgr->mutex, NULL);
if (card_name && *card_name == '-') {
card_name++;
mgr->suppress_nodev_errors = 1;
}
err = uc_mgr_card_open(mgr);
if (err < 0) {
uc_mgr_free(mgr);
@ -1402,6 +1407,8 @@ int snd_use_case_mgr_open(snd_use_case_mgr_t **uc_mgr,
/* get info on use_cases and verify against card */
err = import_master_config(mgr);
if (err < 0) {
if (err == -ENXIO && mgr->suppress_nodev_errors)
goto _err;
uc_error("error: failed to import %s use case configuration %d",
card_name, err);
goto _err;