ALSA: ctl: change return value in compatibility layer so that it's the same value...
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Thu, 17 Mar 2016 12:14:36 +0000 (21:14 +0900)
committerTakashi Iwai <tiwai@suse.de>
Thu, 17 Mar 2016 13:11:36 +0000 (14:11 +0100)
In control compatibility layer, when no elements are found by
ELEM_READ/ELEM_WRITE ioctl commands, ENXIO is returned. On the other hand,
in core implementation, ENOENT is returned. This is not good for
ALSA ctl applications.

This commit changes the return value from the compatibility layer so
that the same value is returned.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/control_compat.c

index 0608f21..1fa7076 100644 (file)
@@ -196,7 +196,7 @@ static int get_ctl_type(struct snd_card *card, struct snd_ctl_elem_id *id,
        kctl = snd_ctl_find_id(card, id);
        if (! kctl) {
                up_read(&card->controls_rwsem);
-               return -ENXIO;
+               return -ENOENT;
        }
        info = kzalloc(sizeof(*info), GFP_KERNEL);
        if (info == NULL) {