ASoC: dmaengine: Add config parameter NULL check.
authorXiubo Li <Li.Xiubo@freescale.com>
Tue, 17 Dec 2013 07:16:40 +0000 (15:16 +0800)
committerMark Brown <broonie@linaro.org>
Tue, 17 Dec 2013 11:17:56 +0000 (11:17 +0000)
Because the "ASoC: dmaengine-pcm: Provide default config" has provided
us one defualt config of DMA. When using this, the config parameter of
devm_snd_dmaengine_pcm_register() will be NULL, so here we need to have
a check before using it.

Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/soc-generic-dmaengine-pcm.c

index 7483922f6ee3f4f8a523b05a00f8ce1f1e2a94e2..2a6c569d991fa968fcb8dbb88fe6cdc7cd22870c 100644 (file)
@@ -299,7 +299,7 @@ static int dmaengine_pcm_request_chan_of(struct dmaengine_pcm *pcm,
            !dev->of_node)
                return 0;
 
-       if (config->dma_dev) {
+       if (config && config->dma_dev) {
                /*
                 * If this warning is seen, it probably means that your Linux
                 * device structure does not match your HW device structure.
@@ -317,7 +317,7 @@ static int dmaengine_pcm_request_chan_of(struct dmaengine_pcm *pcm,
                        name = "rx-tx";
                else
                        name = dmaengine_pcm_dma_channel_names[i];
-               if (config->chan_names[i])
+               if (config && config->chan_names[i])
                        name = config->chan_names[i];
                chan = dma_request_slave_channel_reason(dev, name);
                if (IS_ERR(chan)) {