[PATCH] AOA: Convert onyx and tas codecs to new-style i2c drivers
Jean Delvare
khali at linux-fr.org
Wed Apr 15 05:49:49 EST 2009
Hi Johannes,
On Tue, 14 Apr 2009 19:41:55 +0200, Johannes Berg wrote:
> Alright, with the patch Andreas pointed out it loads, but segfaults, as
> below. Works fine without your patch.
Thanks for the quick test and sorry that it didn't work. I'll take a
look at the trace below and try to figure out what went wrong.
Did you remove the 2 MODULE_DEVICE_TABLE from my patch? If you didn't,
please pick the latest version of my patch which doesn't have them:
ftp://ftp.kernel.org/pub/linux/kernel/people/jdelvare/linux-2.6/jdelvare-i2c/sound-aoa-codecs-convert-to-new-style.patch
I don't think they are the reason of the crash, but who knows...
Are you using a machine with onyx or tas? I guess onyx but I want to be
sure.
> [ 10.267137] snd-aoa-codec-onyx: found pcm3052
> [ 10.267238] PM: Adding info for i2c:2-0046
> [ 10.267926] snd-aoa-fabric-layout: platform-onyx-codec-ref doesn't match!
Does this error also happen without my patch? It would help to see the
logs without my patch to see where it starts diverging.
> [ 10.267930] snd-aoa: fabric didn't like codec onyx
> [ 10.268041] aoa_codec_onyx: probe of 2-0046 failed with error -22
Apparently aoa_codec_register failed in onyx_i2c_probe(), I have to
understand why.
> [ 10.268067] Unable to handle kernel paging request for data at address 0x000000d0
> [ 10.268070] Faulting instruction address: 0xd000000001291d68
> [ 10.268074] Oops: Kernel access of bad area, sig: 11 [#1]
> [ 10.268076] PREEMPT SMP NR_CPUS=4 PowerMac
> [ 10.268080] Modules linked in: snd_aoa_codec_onyx(+) firewire_ohci usbhid(+) arc4 snd_aoa_fabric_layout(+) snd_aoa ecb firewire_core crc_itu_t snd_aoa_i2sbus snd_aoa_soundbus iwlagn iwlcore snd_pcm snd_page_alloc ohci_hcd snd_timer ohci1394 ehci_hcd rfkill led_class ieee1394 usbcore snd mac80211 soundcore cfg80211
> [ 10.268109] NIP: d000000001291d68 LR: d000000001291d20 CTR: 0000000000000000
> [ 10.268113] REGS: c0000001e19a34e0 TRAP: 0300 Not tainted (2.6.30-rc1-wl-dirty)
> [ 10.268115] MSR: 9000000000009032 <EE,ME,IR,DR> CR: 22000488 XER: 00000000
> [ 10.268124] DAR: 00000000000000d0, DSISR: 0000000040000000
> [ 10.268127] TASK = c000000205cd9d30[3391] 'modprobe' THREAD: c0000001e19a0000 CPU: 1
> [ 10.268130] GPR00: d000000001291d20 c0000001e19a3760 d00000000129cdd8 c000000200c177e0
> [ 10.268135] GPR04: c000000205cda760 0000000000000007 c000000205cd9d68 c000000205cd9d68
> [ 10.268140] GPR08: 0000000000000000 0000000000000000 c000000200c179f0 c0000000010ab590
> [ 10.268145] GPR12: 0000000088000488 c0000000009c2500 0000000000000000 0000000000000000
> [ 10.268150] GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
> [ 10.268155] GPR20: 0000000000000000 0000000000000001 000000000054bda0 00000000001ed780
> [ 10.268160] GPR24: 0000000000548080 00000000008c1858 c000000000847b18 0000000000000046
> [ 10.268165] GPR28: c000000217ff56d8 c000000200a59e68 d00000000129c990 c0000001e19a37d8
> [ 10.268175] NIP [d000000001291d68] .onyx_create+0xc0/0x100 [snd_aoa_codec_onyx]
> [ 10.268181] LR [d000000001291d20] .onyx_create+0x78/0x100 [snd_aoa_codec_onyx]
> [ 10.268183] Call Trace:
> [ 10.268188] [c0000001e19a3760] [d000000001291d20] .onyx_create+0x78/0x100 [snd_aoa_codec_onyx] (unreliable)
> [ 10.268196] [c0000001e19a3840] [c00000000037f900] .__attach_adapter+0x4c/0x6c
> [ 10.268203] [c0000001e19a38d0] [c0000000002f7e34] .class_for_each_device+0xb4/0x10c
> [ 10.268208] [c0000001e19a3990] [c00000000037ecec] .i2c_register_driver+0xf0/0x128
> [ 10.268214] [c0000001e19a3a30] [d000000001291f20] .onyx_init+0x20/0x668 [snd_aoa_codec_onyx]
> [ 10.268219] [c0000001e19a3ab0] [c000000000007f68] .do_one_initcall+0x9c/0x1dc
> [ 10.268225] [c0000001e19a3d90] [c000000000099b0c] .SyS_init_module+0xd8/0x238
> [ 10.268229] [c0000001e19a3e30] [c000000000007554] syscall_exit+0x0/0x40
> [ 10.268232] Instruction dump:
> [ 10.268235] a0090022 8129001e b0010074 91210070 48000341 e8410028 2fa30000 3900ffed
> [ 10.268242] 419e0028 e9230020 39430210 39000000 <e96900d0> 380900c8 f94900d0 f8030210
> [ 10.268253] BUG: using smp_processor_id() in preemptible [00000000] code: modprobe/3391
> [ 10.268258] caller is .die+0x188/0x1d4
> [ 10.268260] Call Trace:
> [ 10.268264] [c0000001e19a3210] [c00000000000fcc4] .show_stack+0x6c/0x174 (unreliable)
> [ 10.268271] [c0000001e19a32c0] [c00000000029e65c] .debug_smp_processor_id+0xe0/0x118
> [ 10.268275] [c0000001e19a3350] [c000000000020918] .die+0x188/0x1d4
> [ 10.268280] [c0000001e19a33f0] [c000000000027f74] .bad_page_fault+0xb8/0xd4
> [ 10.268284] [c0000001e19a3470] [c00000000000524c] handle_page_fault+0x3c/0x5c
> [ 10.268293] --- Exception: 300 at .onyx_create+0xc0/0x100 [snd_aoa_codec_onyx]
> [ 10.268295] LR = .onyx_create+0x78/0x100 [snd_aoa_codec_onyx]
> [ 10.268299] [c0000001e19a3840] [c00000000037f900] .__attach_adapter+0x4c/0x6c
> [ 10.268304] [c0000001e19a38d0] [c0000000002f7e34] .class_for_each_device+0xb4/0x10c
> [ 10.268308] [c0000001e19a3990] [c00000000037ecec] .i2c_register_driver+0xf0/0x128
> [ 10.268315] [c0000001e19a3a30] [d000000001291f20] .onyx_init+0x20/0x668 [snd_aoa_codec_onyx]
> [ 10.268319] [c0000001e19a3ab0] [c000000000007f68] .do_one_initcall+0x9c/0x1dc
> [ 10.268323] [c0000001e19a3d90] [c000000000099b0c] .SyS_init_module+0xd8/0x238
> [ 10.268328] [c0000001e19a3e30] [c000000000007554] syscall_exit+0x0/0x40
> [ 10.268331] ---[ end trace dbcf63aa775331e7 ]---
>
--
Jean Delvare
More information about the Linuxppc-dev
mailing list