]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: PXA: Fix oops in __pxa2xx_pcm_prepare
authorVasily Khoruzhick <anarsoul@gmail.com>
Sat, 2 Apr 2011 07:54:47 +0000 (10:54 +0300)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Sun, 3 Apr 2011 09:48:56 +0000 (18:48 +0900)
commit3f23115fcef562641391f5aea948b257f19cb562
tree3bcedb97c64864b3811699cb1ea865ef95e76c3e
parent58d912e82f58d178764363a7009d5e271ab2c595
ASoC: PXA: Fix oops in __pxa2xx_pcm_prepare

pxa2xx_pcm_hw_free frees dma channel and sets prtd->dma_ch to -1,
but does not set prtd->params to NULL, so if pxa2xx_pcm_hw_params will
be called immediately, it leaves prtd->dma_ch initialized with -1,
and it results in oops in __pxa2xx_pcm_prepare. This bug is triggered
via SDL.

This patch adds check for prtd->dma_ch to __pxa2xx_pcm_prepare and
cleans prtd->params, so now it works properly.

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/arm/pxa2xx-pcm-lib.c
sound/soc/pxa/pxa2xx-pcm.c