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 0608f216f3592fc597c85c2c92594b891e499647..1fa70766ffabedea3cd5d3bf20779dfb7e3fcff8 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) {