ASoC: rt5514: Fix the issue that the variable dereferenced before checking
authorOder Chiou <oder_chiou@realtek.com>
Fri, 17 Jun 2016 03:02:23 +0000 (11:02 +0800)
committerMark Brown <broonie@kernel.org>
Wed, 22 Jun 2016 15:02:04 +0000 (16:02 +0100)
The patch fixes the issue that variable dereferenced before checking
'rt5514_dsp->substream'. Move the assignment to after the variable
checking of 'rt5514_dsp->substream'.

Signed-off-by: Oder Chiou <oder_chiou@realtek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt5514-spi.c

index 8a9382e..743f509 100644 (file)
@@ -80,7 +80,7 @@ static void rt5514_spi_copy_work(struct work_struct *work)
 {
        struct rt5514_dsp *rt5514_dsp =
                container_of(work, struct rt5514_dsp, copy_work.work);
-       struct snd_pcm_runtime *runtime = rt5514_dsp->substream->runtime;
+       struct snd_pcm_runtime *runtime;
        size_t period_bytes, truncated_bytes = 0;
 
        mutex_lock(&rt5514_dsp->dma_lock);
@@ -89,6 +89,7 @@ static void rt5514_spi_copy_work(struct work_struct *work)
                goto done;
        }
 
+       runtime = rt5514_dsp->substream->runtime;
        period_bytes = snd_pcm_lib_period_bytes(rt5514_dsp->substream);
 
        if (rt5514_dsp->buf_size - rt5514_dsp->dsp_offset <  period_bytes)