"ASoC: ab8500: Convert register I/O to regmap" breaks snowball

Olof Johansson olof at lixom.net
Tue Sep 24 03:17:18 EDT 2013


Mark, Lee,

[I wasn't subscribed to alsa-devel when the patch was posted, so I'm
sending this as a standalone email instead of as a reply to that]


linux-next 20130924 fails to boot on snowball (u8500_defconfig, non-DT boot):

Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 80000005 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.12.0-rc1-00003-gff795d6 #135
task: ef060000 ti: ef064000 task.ti: ef064000
PC is at 0x0
LR is at snd_soc_update_bits+0x4c/0x88
pc : [<00000000>]    lr : [<c02d4f98>]    psr: 60000013
sp : ef065d48  ip : 00000020  fp : ef0d054c
r10: 00000000  r9 : ef3c0810  r8 : 00000000
r7 : 00000014  r6 : 00000000  r5 : 00000007  r4 : ef36ea00
r3 : 00000000  r2 : 00000007  r1 : 00000014  r0 : ef36ea00
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c5787d  Table: 0000404a  DAC: 00000015
Process swapper/0 (pid: 1, stack limit = 0xef064240)
Stack: (0xef065d48 to 0xef066000)
5d40:                   ef153410 c0550bb8 ef153410 ef36ea00 c053dc64 ef36ea00
5d60: c053dc64 c03d5e0c ef36eaac c02e4144 00000000 02000000 ef36ea00 00000000
5d80: c055a688 ef17bc10 ef0a7b00 c02e4358 00000000 00000000 00000000 ef36ea00
5da0: c055a5dc c055a688 c055daa4 c055aa0c ef36eaac c02d74fc c03d592c c055a678
5dc0: ee8115c8 c055daa4 ef0d00c0 00000000 00000000 c055a668 c03d5bf4 c02d8258
5de0: c055dab4 00000000 00000004 eec2d990 c055db7c ef0d0780 c055dbac c055db9c
5e00: c055a6a8 ef36ea30 ef36ea00 ef0d087c ef0d084c ef36ea30 c04a98f4 c055dac4
5e20: c021ce54 c055daa4 000005b8 c053f7f0 c055da64 c051dde8 00000069 ef064028
5e40: 00000000 c02d8ef0 00000000 c055da50 00000000 c02e684c c05924fc c053f7f0
5e60: 00000000 c055da64 c051dde8 c021bc88 c021bc70 c021aa94 00000000 c053f7f0
5e80: c055da64 c053f824 00000000 c021ac80 00000000 c055da64 c021abf4 c0218f6c
5ea0: ef03265c ef1b6734 c055da64 ef192500 c054fea8 c021a220 c0475770 c055da64
5ec0: 00000006 c055da64 00000006 c0563c80 c0563c80 c021b25c 00000000 c052c5f4
5ee0: 00000006 c0008798 ef010900 c04787e4 ef09c100 c03ac5e0 00000000 00000001
5f00: 000014dc c0540b9c 60000013 00000001 00000003 00000000 c0da19bd c03bf6b0
5f20: 00000069 c0036aa4 c04de34c 00000006 c0da19c8 00000006 00000000 c052c5f4
5f40: 00000006 c0563c80 c0563c80 c05014dc 00000069 c0523fec c0523fe0 c0501bc4
5f60: 00000006 00000006 c05014dc 00000000 88000000 00000000 00000000 00000000
5f80: c03a14ec 00000000 00000000 00000000 00000000 00000000 00000000 c03a14f4
5fa0: 00000000 00000000 c03a14ec c000e438 00000000 00000000 00000000 00000000
5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 20000000
[<c02d4f98>] (snd_soc_update_bits+0x4c/0x88) from [<c02e4144>] (ab8500_audio_setup_mics+0xc8/0x118)
[<c02e4144>] (ab8500_audio_setup_mics+0xc8/0x118) from [<c02e4358>] (ab8500_codec_probe+0x180/0x374)
[<c02e4358>] (ab8500_codec_probe+0x180/0x374) from [<c02d74fc>] (soc_probe_codec+0x178/0x2f4)
[<c02d74fc>] (soc_probe_codec+0x178/0x2f4) from [<c02d8258>] (snd_soc_instantiate_card+0x794/0x11c0)
[<c02d8258>] (snd_soc_instantiate_card+0x794/0x11c0) from [<c02d8ef0>] (snd_soc_register_card+0x26c/0x324)
[<c02d8ef0>] (snd_soc_register_card+0x26c/0x324) from [<c02e684c>] (mop500_probe+0xd0/0x118)
[<c02e684c>] (mop500_probe+0xd0/0x118) from [<c021bc88>] (platform_drv_probe+0x18/0x1c)
[<c021bc88>] (platform_drv_probe+0x18/0x1c) from [<c021aa94>] (driver_probe_device+0x10c/0x228)
...


I bisected it down to:

commit ff795d614bfa62a3c6fc0bcb75cb8842e5a87892
Author: Mark Brown <broonie at linaro.org>
Date:   Fri Sep 20 10:38:16 2013 +0100

    ASoC: ab8500: Convert register I/O to regmap
    
    As part of a general push to eliminate the duplicated register I/O support
    in ASoC convert ab8500 to use regmap.
    
    Signed-off-by: Mark Brown <broonie at linaro.org>
    Acked-by: Lee Jones <lee.jones at linaro.org>


... but I didn't look closer at what was actually broken.



-Olof



More information about the linux-arm-kernel mailing list