Commit 28ee3d73 authored by Charles Keepax's avatar Charles Keepax Committed by Mark Brown

ASoC: wm_adsp: Treat missing compressed buffer as a fatal error

If the DSP is powered down whilst a compressed stream is being processed
we should treat this as a fatal error, clearly the stream is no longer
valid.
Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 8d280664
...@@ -3037,12 +3037,7 @@ int wm_adsp_compr_pointer(struct snd_compr_stream *stream, ...@@ -3037,12 +3037,7 @@ int wm_adsp_compr_pointer(struct snd_compr_stream *stream,
buf = compr->buf; buf = compr->buf;
if (!compr->buf) { if (!compr->buf || compr->buf->error) {
ret = -ENXIO;
goto out;
}
if (compr->buf->error) {
snd_compr_stop_error(stream, SNDRV_PCM_STATE_XRUN); snd_compr_stop_error(stream, SNDRV_PCM_STATE_XRUN);
ret = -EIO; ret = -EIO;
goto out; goto out;
...@@ -3161,10 +3156,7 @@ static int wm_adsp_compr_read(struct wm_adsp_compr *compr, ...@@ -3161,10 +3156,7 @@ static int wm_adsp_compr_read(struct wm_adsp_compr *compr,
adsp_dbg(dsp, "Requested read of %zu bytes\n", count); adsp_dbg(dsp, "Requested read of %zu bytes\n", count);
if (!compr->buf) if (!compr->buf || compr->buf->error) {
return -ENXIO;
if (compr->buf->error) {
snd_compr_stop_error(compr->stream, SNDRV_PCM_STATE_XRUN); snd_compr_stop_error(compr->stream, SNDRV_PCM_STATE_XRUN);
return -EIO; return -EIO;
} }
......
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