ASoC: fsl_sarc_dma: Check pair before using it
authorNicolin Chen <nicoleotsuka@gmail.com>
Mon, 4 Aug 2014 04:19:48 +0000 (12:19 +0800)
committerMark Brown <broonie@linaro.org>
Mon, 4 Aug 2014 14:48:41 +0000 (15:48 +0100)
commit6ccf62c7bea561cca7ffbd50839f883327080800
treeefbedd0abf754e92a07a5c663d5c5bd7d2d571f7
parentd387dd08e444b22f844475780fe12a1ad1c6fffd
ASoC: fsl_sarc_dma: Check pair before using it

The patch 3117bb3109dc: "ASoC: fsl_asrc: Add ASRC ASoC CPU DAI and
platform drivers" from Jul 29, 2014, leads to the following Smatch
complaint:

sound/soc/fsl/fsl_asrc_dma.c:304 fsl_asrc_dma_shutdown()
warn: variable dereferenced before check 'pair' (see line 302)

sound/soc/fsl/fsl_asrc_dma.c
301          struct fsl_asrc_pair *pair = runtime->private_data;
302          struct fsl_asrc *asrc_priv = pair->asrc_priv;
                                          ^^^^^^^^^^^^^^^
                                            Dereference.

303
304          if (pair && asrc_priv->pair[pair->index] == pair)
                 ^^^^
                Check.

305                  asrc_priv->pair[pair->index] = NULL;
306

So we just let the driver check pair before using it.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/fsl/fsl_asrc_dma.c