ASoC: dmaengine: Improve of_node test in dmaengine_pcm_request_chan_of()
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Thu, 7 Feb 2019 17:00:09 +0000 (18:00 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 12 Feb 2019 16:29:29 +0000 (16:29 +0000)
Currently when of_node of the "PCM" device is null
dmaengine_pcm_request_chan_of() function will bail out, including cases
when custom DMA device is intended to be used.  To have the channels
properly requested when custom DMA device is provided extend the of_node
test to also consider dma_dev->of_node.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-generic-dmaengine-pcm.c

index 30e791a533528042ef5ab42f79064eced53fd681..6d7638c1233d62646369f6cfa6c3802131fbfa1b 100644 (file)
@@ -415,7 +415,8 @@ static int dmaengine_pcm_request_chan_of(struct dmaengine_pcm *pcm,
 
        if ((pcm->flags & (SND_DMAENGINE_PCM_FLAG_NO_DT |
                           SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME)) ||
-           !dev->of_node)
+            (!dev->of_node && !(config && config->dma_dev &&
+                               config->dma_dev->of_node)))
                return 0;
 
        if (config && config->dma_dev) {