Commit 03be63b2 authored by Takashi Sakamoto's avatar Takashi Sakamoto Committed by Takashi Iwai

ALSA: oxfw: use ENXIO for not-supported cases

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: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20200113073418.24622-2-o-takashi@sakamocchi.jpSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent ff40e0d4
...@@ -38,7 +38,7 @@ int avc_stream_set_format(struct fw_unit *unit, enum avc_general_plug_dir dir, ...@@ -38,7 +38,7 @@ int avc_stream_set_format(struct fw_unit *unit, enum avc_general_plug_dir dir,
else if (err < len + 10) else if (err < len + 10)
err = -EIO; err = -EIO;
else if (buf[0] == 0x08) /* NOT IMPLEMENTED */ else if (buf[0] == 0x08) /* NOT IMPLEMENTED */
err = -ENOSYS; err = -ENXIO;
else if (buf[0] == 0x0a) /* REJECTED */ else if (buf[0] == 0x0a) /* REJECTED */
err = -EINVAL; err = -EINVAL;
else else
...@@ -83,7 +83,7 @@ int avc_stream_get_format(struct fw_unit *unit, ...@@ -83,7 +83,7 @@ int avc_stream_get_format(struct fw_unit *unit,
else if (err < 12) else if (err < 12)
err = -EIO; err = -EIO;
else if (buf[0] == 0x08) /* NOT IMPLEMENTED */ else if (buf[0] == 0x08) /* NOT IMPLEMENTED */
err = -ENOSYS; err = -ENXIO;
else if (buf[0] == 0x0a) /* REJECTED */ else if (buf[0] == 0x0a) /* REJECTED */
err = -EINVAL; err = -EINVAL;
else if (buf[0] == 0x0b) /* IN TRANSITION */ else if (buf[0] == 0x0b) /* IN TRANSITION */
...@@ -147,7 +147,7 @@ int avc_general_inquiry_sig_fmt(struct fw_unit *unit, unsigned int rate, ...@@ -147,7 +147,7 @@ int avc_general_inquiry_sig_fmt(struct fw_unit *unit, unsigned int rate,
else if (err < 8) else if (err < 8)
err = -EIO; err = -EIO;
else if (buf[0] == 0x08) /* NOT IMPLEMENTED */ else if (buf[0] == 0x08) /* NOT IMPLEMENTED */
err = -ENOSYS; err = -ENXIO;
if (err < 0) if (err < 0)
goto end; goto end;
......
...@@ -513,7 +513,7 @@ int snd_oxfw_stream_parse_format(u8 *format, ...@@ -513,7 +513,7 @@ int snd_oxfw_stream_parse_format(u8 *format,
* Level 1: AM824 Compound (0x40) * Level 1: AM824 Compound (0x40)
*/ */
if ((format[0] != 0x90) || (format[1] != 0x40)) if ((format[0] != 0x90) || (format[1] != 0x40))
return -ENOSYS; return -ENXIO;
/* check the sampling rate */ /* check the sampling rate */
for (i = 0; i < ARRAY_SIZE(avc_stream_rate_table); i++) { for (i = 0; i < ARRAY_SIZE(avc_stream_rate_table); i++) {
...@@ -521,7 +521,7 @@ int snd_oxfw_stream_parse_format(u8 *format, ...@@ -521,7 +521,7 @@ int snd_oxfw_stream_parse_format(u8 *format,
break; break;
} }
if (i == ARRAY_SIZE(avc_stream_rate_table)) if (i == ARRAY_SIZE(avc_stream_rate_table))
return -ENOSYS; return -ENXIO;
formation->rate = oxfw_rate_table[i]; formation->rate = oxfw_rate_table[i];
...@@ -565,13 +565,13 @@ int snd_oxfw_stream_parse_format(u8 *format, ...@@ -565,13 +565,13 @@ int snd_oxfw_stream_parse_format(u8 *format,
/* Don't care */ /* Don't care */
case 0xff: case 0xff:
default: default:
return -ENOSYS; /* not supported */ return -ENXIO; /* not supported */
} }
} }
if (formation->pcm > AM824_MAX_CHANNELS_FOR_PCM || if (formation->pcm > AM824_MAX_CHANNELS_FOR_PCM ||
formation->midi > AM824_MAX_CHANNELS_FOR_MIDI) formation->midi > AM824_MAX_CHANNELS_FOR_MIDI)
return -ENOSYS; return -ENXIO;
return 0; return 0;
} }
...@@ -656,7 +656,7 @@ static int fill_stream_formats(struct snd_oxfw *oxfw, ...@@ -656,7 +656,7 @@ static int fill_stream_formats(struct snd_oxfw *oxfw,
/* get first entry */ /* get first entry */
len = AVC_GENERIC_FRAME_MAXIMUM_BYTES; len = AVC_GENERIC_FRAME_MAXIMUM_BYTES;
err = avc_stream_get_format_list(oxfw->unit, dir, 0, buf, &len, 0); err = avc_stream_get_format_list(oxfw->unit, dir, 0, buf, &len, 0);
if (err == -ENOSYS) { if (err == -ENXIO) {
/* LIST subfunction is not implemented */ /* LIST subfunction is not implemented */
len = AVC_GENERIC_FRAME_MAXIMUM_BYTES; len = AVC_GENERIC_FRAME_MAXIMUM_BYTES;
err = assume_stream_formats(oxfw, dir, pid, buf, &len, err = assume_stream_formats(oxfw, dir, pid, buf, &len,
...@@ -728,7 +728,7 @@ int snd_oxfw_stream_discover(struct snd_oxfw *oxfw) ...@@ -728,7 +728,7 @@ int snd_oxfw_stream_discover(struct snd_oxfw *oxfw)
err); err);
goto end; goto end;
} else if ((plugs[0] == 0) && (plugs[1] == 0)) { } else if ((plugs[0] == 0) && (plugs[1] == 0)) {
err = -ENOSYS; err = -ENXIO;
goto end; goto end;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment