aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2009-08-19 19:31:46 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-08-19 20:30:14 +0100
commitf8bae4caaaf56c391f3e2380dd7105e765414178 (patch)
tree0bc9d013156e3b2081f9719eba3717455e6bce1f
parent474e09ca017bd0f6e9bf41af643364a21bc27f43 (diff)
downloadlinux-linaro-precise-f8bae4caaaf56c391f3e2380dd7105e765414178.tar.gz
ALSA: Restore support for DMAless DAIs on PXA
Used for applications such as direct bluetooth connections on smartphones which don't go via the CPU. This used to be supported before the refactoring to share code but this check was removed during that move. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r--sound/arm/pxa2xx-pcm-lib.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/arm/pxa2xx-pcm-lib.c b/sound/arm/pxa2xx-pcm-lib.c
index 6205f37d547..743ac6a2906 100644
--- a/sound/arm/pxa2xx-pcm-lib.c
+++ b/sound/arm/pxa2xx-pcm-lib.c
@@ -136,6 +136,9 @@ int __pxa2xx_pcm_prepare(struct snd_pcm_substream *substream)
{
struct pxa2xx_runtime_data *prtd = substream->runtime->private_data;
+ if (!prtd || !prtd->params)
+ return 0;
+
DCSR(prtd->dma_ch) &= ~DCSR_RUN;
DCSR(prtd->dma_ch) = 0;
DCMD(prtd->dma_ch) = 0;