]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ASoC: wm_adsp: Treat missing compressed buffer as a fatal error
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Mon, 13 Jun 2016 13:17:12 +0000 (14:17 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 13 Jun 2016 15:49:51 +0000 (16:49 +0100)
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: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/wm_adsp.c

index 8ed1cdececf29545734938f115d8e01d52a16a1d..7e42474d7ae491508dbc58b7d71702f37c332664 100644 (file)
@@ -3037,12 +3037,7 @@ int wm_adsp_compr_pointer(struct snd_compr_stream *stream,
 
        buf = compr->buf;
 
-       if (!compr->buf) {
-               ret = -ENXIO;
-               goto out;
-       }
-
-       if (compr->buf->error) {
+       if (!compr->buf || compr->buf->error) {
                snd_compr_stop_error(stream, SNDRV_PCM_STATE_XRUN);
                ret = -EIO;
                goto out;
@@ -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);
 
-       if (!compr->buf)
-               return -ENXIO;
-
-       if (compr->buf->error) {
+       if (!compr->buf || compr->buf->error) {
                snd_compr_stop_error(compr->stream, SNDRV_PCM_STATE_XRUN);
                return -EIO;
        }