linux/sound/soc/fsl
Anton Vorontsov 5c15a6869a ASoC: fsl_dma: Pass the proper device for dma mapping routines
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@ru.mvista.com>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-06 23:35:42 +01:00
..
fsl_dma.c ASoC: fsl_dma: Pass the proper device for dma mapping routines 2009-04-06 23:35:42 +01:00
fsl_dma.h ALSA: asoc: fsl - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:40 +02:00
fsl_ssi.c ASoC: trim SSI sysfs statistics in Freescale MPC8610 sound drivers 2009-04-02 16:34:15 +01:00
fsl_ssi.h ASoC: add support for SSI asynchronous mode to the Freescale SSI drivers 2009-03-06 13:37:16 +00:00
Kconfig ASoC: remove stand-alone mode support from CS4270 codec driver 2009-01-23 11:12:57 +00:00
Makefile ASoC: Allow Freescale MPC8610 audio drivers to be compiled as modules 2009-01-20 20:30:59 +00:00
mpc5200_psc_i2s.c ASoC: make ops a pointer in 'struct snd_soc_dai' 2009-03-04 22:29:47 +00:00
mpc8610_hpcd.c ASoC: add support for SSI asynchronous mode to the Freescale SSI drivers 2009-03-06 13:37:16 +00:00
soc-of-simple.c ASoC: Push platform registration down into the card 2008-12-02 16:03:40 +00:00