[PATCH] ASoC: fsl_dma: Pass the proper device for dma mapping routines
Timur Tabi
timur at freescale.com
Tue Apr 7 07:06:22 EST 2009
Anton Vorontsov wrote:
> The driver should pass a device that specifies internal DMA ops, but
> substream->pcm is just a logical device, and thus doesn't have arch-
> specific dma callbacks, therefore following bug appears:
>
> Freescale Synchronous Serial Interface (SSI) ASoC Driver
> ------------[ cut here ]------------
> kernel BUG at arch/powerpc/include/asm/dma-mapping.h:237!
> Oops: Exception in kernel mode, sig: 5 [#1]
> ...
> NIP [c02259c4] snd_malloc_dev_pages+0x58/0xac
> LR [c0225c74] snd_dma_alloc_pages+0xf8/0x108
> Call Trace:
> [df02bde0] [df02be2c] 0xdf02be2c (unreliable)
> [df02bdf0] [c0225c74] snd_dma_alloc_pages+0xf8/0x108
> [df02be10] [c023a100] fsl_dma_new+0x68/0x124
> [df02be20] [c02342ac] soc_new_pcm+0x1bc/0x234
> [df02bea0] [c02343dc] snd_soc_new_pcms+0xb8/0x148
> [df02bed0] [c023824c] cs4270_probe+0x34/0x124
> [df02bef0] [c0232fe8] snd_soc_instantiate_card+0x1a4/0x2f4
> [df02bf20] [c0233164] snd_soc_instantiate_cards+0x2c/0x68
> [df02bf30] [c0234704] snd_soc_register_platform+0x60/0x80
> [df02bf50] [c03d5664] fsl_soc_platform_init+0x18/0x28
> ...
>
> This patch fixes the issue by using card's device instead.
>
> Signed-off-by: Anton Vorontsov <avorontsov at ru.mvista.com>
> ---
Acked-by: Timur Tabi <timur at freescale.com>
Mark and Takashi: this patch is a must-fix for 2.6.30
--
Timur Tabi
Linux kernel developer at Freescale
More information about the Linuxppc-dev
mailing list