aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimo Wischer <twischer@de.adit-jv.com>2018-07-04 15:39:49 +0200
committerTakashi Iwai <tiwai@suse.de>2018-07-04 15:41:21 +0200
commit2c04ea1f297a9a7513ee8107cce1568c9bfc52aa (patch)
treef1fd2c1526751078546dc83193c2522f6257451d
parent2972f2f9662aaf050addf6254363164ef8bf676e (diff)
pcm: rate: Add error check for snd_pcm_avail_update()
Without these changes a negative error code returned by snd_pcm_avail_update() will be not handled correctly. With this patch the returned error code of snd_pcm_avail_update() will be returned by snd_pcm_rate_avail_update(). Signed-off-by: Timo Wischer <twischer@de.adit-jv.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--src/pcm/pcm_rate.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/pcm/pcm_rate.c b/src/pcm/pcm_rate.c
index 4e0c7ca7..031a43dc 100644
--- a/src/pcm/pcm_rate.c
+++ b/src/pcm/pcm_rate.c
@@ -970,9 +970,12 @@ static snd_pcm_sframes_t snd_pcm_rate_avail_update(snd_pcm_t *pcm)
{
snd_pcm_rate_t *rate = pcm->private_data;
snd_pcm_t *slave = rate->gen.slave;
- snd_pcm_uframes_t slave_size;
+ snd_pcm_sframes_t slave_size;
slave_size = snd_pcm_avail_update(slave);
+ if (slave_size < 0)
+ return slave_size;
+
if (pcm->stream == SND_PCM_STREAM_CAPTURE)
goto _capture;
snd_pcm_rate_sync_hwptr(pcm);