[alsa-devel] [ASoC] list corruption during AC97 registration

Liam Girdwood lg at opensource.wolfsonmicro.com
Fri Apr 27 12:21:18 CEST 2007


On Thu, 2007-04-26 at 19:16 +0200, Manuel Lauss wrote:
> Hi Folks,
> 
> I hit the following oops (on 2.6.21) when ASoC registers an AC97 codec.
> Happens both on MIPS and SH, for example the mips oops:
> 
> asoc: AC97 HiFi <-> au1xpsc-ac97-1 mapping ok
> list_add corruption. prev->next should be next (80488f60), but was 865ffad8. (prev=865ffad8).
> <snip> 
> Call Trace:
> [<80271290>] __list_add+0x68/0x94
> [<802ac0e4>] bus_attach_device+0x48/0x78
> [<802aa4c4>] device_add+0x3d8/0x844
> [<c00882a8>] snd_soc_register_card+0x1d0/0x2c8 [snd_soc_core]
> [<c00b3268>] ac97_soc_probe+0x17c/0x1e4 [snd_soc_ac97]
> [<c0088f48>] soc_probe+0xb0/0x1ac [snd_soc_core]
> [<802ad410>] really_probe+0x148/0x268
> [<802ac1cc>] bus_for_each_drv+0x50/0xa0
> [<802ad758>] device_attach+0xe4/0x194
> [<802ac0cc>] bus_attach_device+0x30/0x78
> [<802aa4c4>] device_add+0x3d8/0x844
> [<802aff24>] platform_device_add+0x13c/0x198
> [<c00b71c8>] exm1200_mobo_ac97_init+0x1c8/0x1fc [snd_soc_exmmb_ac97]
> [<801478d0>] sys_init_module+0x1448/0x15b8
> [<8010bcc0>] stack_done+0x20/0x3c
> 
> System.map says:
> 80488e60 D ac97_bus_type
> 
> As I said, it happens on both MIPS and SH (with machine and PCM drivers
> written by myself). With CONFIG_DEBUG_LIST disabled the code works and plays
> sound, but still I'd like to know what causes this list corruption.
> 
> Thanks for any hints!

Thanks for reporting this. I'll add to ALSA bugtracker (after some new
categories have been added) and fix on early next week when I have
access to my AC97 hardware. 

Fwiw, I'd start by looking at soc_ac97_dev_register()

HTH

Liam




More information about the Alsa-devel mailing list