]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
ALSA: oxfw: use ENXIO for not-supported cases
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 13 Jan 2020 07:34:16 +0000 (16:34 +0900)
committerTakashi Iwai <tiwai@suse.de>
Mon, 13 Jan 2020 09:41:47 +0000 (10:41 +0100)
When AV/C command returns 'NOT IMPLEMENTED' status in its response, ALSA
oxfw driver uses ENOSYS as error code. However, it's expected just to be
used for missing system call number.

This commit replaces it with ENXIO.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20200113073418.24622-2-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/firewire/oxfw/oxfw-command.c
sound/firewire/oxfw/oxfw-stream.c

index 16dc337c709332e1cd963f1213c2dad82f41472f..d2e57c76070d2d228614fccbd473c2892fa0f717 100644 (file)
@@ -38,7 +38,7 @@ int avc_stream_set_format(struct fw_unit *unit, enum avc_general_plug_dir dir,
        else if (err < len + 10)
                err = -EIO;
        else if (buf[0] == 0x08) /* NOT IMPLEMENTED */
-               err = -ENOSYS;
+               err = -ENXIO;
        else if (buf[0] == 0x0a) /* REJECTED */
                err = -EINVAL;
        else
@@ -83,7 +83,7 @@ int avc_stream_get_format(struct fw_unit *unit,
        else if (err < 12)
                err = -EIO;
        else if (buf[0] == 0x08)        /* NOT IMPLEMENTED */
-               err = -ENOSYS;
+               err = -ENXIO;
        else if (buf[0] == 0x0a)        /* REJECTED */
                err = -EINVAL;
        else if (buf[0] == 0x0b)        /* IN TRANSITION */
@@ -147,7 +147,7 @@ int avc_general_inquiry_sig_fmt(struct fw_unit *unit, unsigned int rate,
        else if (err < 8)
                err = -EIO;
        else if (buf[0] == 0x08)        /* NOT IMPLEMENTED */
-               err = -ENOSYS;
+               err = -ENXIO;
        if (err < 0)
                goto end;
 
index 501a80094bf7d3aefc1cec9ae4e8981146498743..692324670c78648856e0cff0c72ef455fb9457af 100644 (file)
@@ -513,7 +513,7 @@ int snd_oxfw_stream_parse_format(u8 *format,
         *  Level 1:    AM824 Compound  (0x40)
         */
        if ((format[0] != 0x90) || (format[1] != 0x40))
-               return -ENOSYS;
+               return -ENXIO;
 
        /* check the sampling rate */
        for (i = 0; i < ARRAY_SIZE(avc_stream_rate_table); i++) {
@@ -521,7 +521,7 @@ int snd_oxfw_stream_parse_format(u8 *format,
                        break;
        }
        if (i == ARRAY_SIZE(avc_stream_rate_table))
-               return -ENOSYS;
+               return -ENXIO;
 
        formation->rate = oxfw_rate_table[i];
 
@@ -565,13 +565,13 @@ int snd_oxfw_stream_parse_format(u8 *format,
                /* Don't care */
                case 0xff:
                default:
-                       return -ENOSYS; /* not supported */
+                       return -ENXIO;  /* not supported */
                }
        }
 
        if (formation->pcm  > AM824_MAX_CHANNELS_FOR_PCM ||
            formation->midi > AM824_MAX_CHANNELS_FOR_MIDI)
-               return -ENOSYS;
+               return -ENXIO;
 
        return 0;
 }
@@ -656,7 +656,7 @@ static int fill_stream_formats(struct snd_oxfw *oxfw,
        /* get first entry */
        len = AVC_GENERIC_FRAME_MAXIMUM_BYTES;
        err = avc_stream_get_format_list(oxfw->unit, dir, 0, buf, &len, 0);
-       if (err == -ENOSYS) {
+       if (err == -ENXIO) {
                /* LIST subfunction is not implemented */
                len = AVC_GENERIC_FRAME_MAXIMUM_BYTES;
                err = assume_stream_formats(oxfw, dir, pid, buf, &len,
@@ -728,7 +728,7 @@ int snd_oxfw_stream_discover(struct snd_oxfw *oxfw)
                        err);
                goto end;
        } else if ((plugs[0] == 0) && (plugs[1] == 0)) {
-               err = -ENOSYS;
+               err = -ENXIO;
                goto end;
        }