1
0
Fork 0

alsactl: info - handle situations when devices are not available in kernel

The kernel returns ENOTTY error in this case. Do nothing for this error code.

Closes: https://github.com/alsa-project/alsa-utils/issues/287
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Jaroslav Kysela 2025-01-09 16:09:22 +01:00
parent 258d64960d
commit 54e09df6bc

View file

@ -35,6 +35,8 @@ static int pcm_device_list(snd_ctl_t *ctl, snd_pcm_stream_t stream, bool *first)
streamfirst = true;
while (1) {
if ((err = snd_ctl_pcm_next_device(ctl, &dev)) < 0) {
if (err == ENOTTY) /* no kernel support */
return 0;
error("snd_ctl_pcm_next_device: %s", snd_strerror(err));
return err;
}
@ -102,6 +104,8 @@ static int rawmidi_device_list(snd_ctl_t *ctl, snd_rawmidi_stream_t stream, bool
streamfirst = true;
while (1) {
if ((err = snd_ctl_rawmidi_next_device(ctl, &dev)) < 0) {
if (err == ENOTTY) /* no kernel support */
return 0;
error("snd_ctl_rawmidi_next_device: %s", snd_strerror(err));
return err;
}
@ -159,7 +163,9 @@ static int hwdep_device_list(snd_ctl_t *ctl)
first = true;
while (1) {
if ((err = snd_ctl_hwdep_next_device(ctl, &dev)) < 0) {
error("snd_ctl_pcm_next_device");
if (err == ENOTTY) /* no kernel support */
return 0;
error("snd_ctl_pcm_next_device: %s", snd_strerror(err));
return err;
}
if (dev < 0)