From 61b0f8f3f25d620ae54c9b1d641e34ce84706504 Mon Sep 17 00:00:00 2001 From: Adam Miartus Date: Mon, 1 Jul 2019 15:25:16 +0200 Subject: [PATCH] pcm_file: use EIO instead of EPIPE when failing to write output file EPIPE is defined as XRUN which is not entirely correct in this condition failing to write to a file in pcm_file plugin can not be simply recovered by a retry as user of the api might be led to believe when receiving EPIPE use EIO instead to indicate a different kid of error that may not be recoverable by retry Signed-off-by: Adam Miartus Reviewed-by: Timo Wischer Signed-off-by: Takashi Iwai --- src/pcm/pcm_file.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/pcm/pcm_file.c b/src/pcm/pcm_file.c index ab47da8d..d83f97ae 100644 --- a/src/pcm/pcm_file.c +++ b/src/pcm/pcm_file.c @@ -575,7 +575,7 @@ static snd_pcm_sframes_t snd_pcm_file_writei(snd_pcm_t *pcm, const void *buffer, __snd_pcm_lock(pcm); if (snd_pcm_file_add_frames(pcm, areas, 0, n) < 0) { __snd_pcm_unlock(pcm); - return -EPIPE; + return -EIO; } __snd_pcm_unlock(pcm); } @@ -593,7 +593,7 @@ static snd_pcm_sframes_t snd_pcm_file_writen(snd_pcm_t *pcm, void **bufs, snd_pc __snd_pcm_lock(pcm); if (snd_pcm_file_add_frames(pcm, areas, 0, n) < 0) { __snd_pcm_unlock(pcm); - return -EPIPE; + return -EIO; } __snd_pcm_unlock(pcm); } @@ -616,7 +616,7 @@ static snd_pcm_sframes_t snd_pcm_file_readi(snd_pcm_t *pcm, void *buffer, snd_pc __snd_pcm_lock(pcm); if (snd_pcm_file_add_frames(pcm, areas, 0, frames) < 0) { __snd_pcm_unlock(pcm); - return -EPIPE; + return -EIO; } __snd_pcm_unlock(pcm); @@ -640,7 +640,7 @@ static snd_pcm_sframes_t snd_pcm_file_readn(snd_pcm_t *pcm, void **bufs, snd_pcm __snd_pcm_lock(pcm); if (snd_pcm_file_add_frames(pcm, areas, 0, frames) < 0) { __snd_pcm_unlock(pcm); - return -EPIPE; + return -EIO; } __snd_pcm_unlock(pcm); @@ -666,7 +666,7 @@ static snd_pcm_sframes_t snd_pcm_file_mmap_commit(snd_pcm_t *pcm, result = snd_pcm_mmap_commit(file->gen.slave, ofs, siz); if (result > 0) { if (snd_pcm_file_add_frames(pcm, areas, ofs, result) < 0) - return -EPIPE; + return -EIO; } } return result; -- 2.11.0