http://docs.openmoko.org/trac/ticket//2238 [ 557.930000] Bad mode in data abort handler detected [ 557.930000] Internal error: Oops - bad mode: 0 [#1] PREEMPT [ 557.930000] Modules linked in: s3c2410_wdt [ 557.930000] CPU: 0 Not tainted (2.6.29lindi_c1b03e4da22e8dd7-mokodev #2) [ 557.930000] PC is at rb_reserve_next_event+0x18/0x418 [ 557.930000] LR is at 0x1 [ 557.930000] pc : [] lr : [<00000001>] psr: 800000d1 [ 557.930000] sp : c799de58 ip : 00590000 fp : c799deb4 [ 557.930000] r10: 00000014 r9 : 00000001 r8 : 00000015 [ 557.930000] r7 : c003ed24 r6 : c0a016f0 r5 : c78103a0 r4 : 00000000 [ 557.930000] r3 : 0000001b r2 : 00000018 r1 : 00000003 r0 : c78103a0 [ 557.930000] Flags: Nzcv IRQs off FIQs off Mode FIQ_32 ISA ARM Segment kernel [ 557.930000] Control: c000717f Table: 37290000 DAC: 00000017 [ 557.930000] Process events/0 (pid: 5, stack limit = 0xc799c268) [ 557.930000] Stack: (0xc799de58 to 0xc799e000) [ 557.930000] de40: c78103a0 00000003 [ 557.930000] de60: 00000018 0000001b 00000000 c78103a0 c0a016f0 c003ed24 00000015 00000001 [ 557.930000] de80: 00000014 c799deb4 00590000 c799de58 00000001 c0094ea8 800000d1 ffffffff [ 557.930000] dea0: 00000001 c0a330e8 c799decc c799deb8 c0290270 c0043ecc c7b6254c 00000002 [ 557.930000] dec0: c799def4 c799ded0 c028f468 c0290224 c7b6254c c7810320 c7b62400 c7b62548 [ 557.930000] dee0: 00000000 c799df54 c799df34 c799def8 c028f9f4 c028f448 c799df34 c799df08 [ 557.930000] df00: c007e9d0 c007e178 00000001 00000000 00000000 c006da38 c7b6254c c7810320 [ 557.930000] df20: c799c000 c7b62548 c799df94 c799df38 c006dab0 c028f9c8 00000001 00000000 [ 557.930000] df40: c006da38 c799df60 c7810344 c028f9b8 c7810320 c0a330e0 00000000 c0498f9a [ 557.930000] df60: 00000000 00000000 c799df74 c781034c c799c000 c7810320 c7810344 c799df9c [ 557.930000] df80: 00000000 00000000 c799dfd4 c799df98 c006dfc0 c006d988 c03af418 00000000 [ 557.930000] dfa0: c799a0a0 c0072514 c799dfa8 c799dfa8 c7810320 c799c000 c7810320 c006debc [ 557.930000] dfc0: 00000000 00000000 c799dff4 c799dfd8 c00721b4 c006decc 00000000 00000000 [ 557.930000] dfe0: 00000000 00000000 00000000 c799dff8 c005f7e4 c0072160 ffffffff ffffffff [ 557.930000] Backtrace: [ 557.930000] [] (gta02_fiq_kick+0x0/0x98) from [] (hdq_read+0x5c/0xc4) [ 557.930000] r4:c0a330e8 [ 557.930000] [] (hdq_read+0x0/0xc4) from [] (hdq_read16+0x30/0x88) [ 557.930000] r5:00000002 r4:c7b6254c [ 557.930000] [] (hdq_read16+0x0/0x88) from [] (bq27000_battery_work+0x3c/0x13c) [ 557.930000] [] (bq27000_battery_work+0x0/0x13c) from [] (run_workqueue+0x138/0x234) [ 557.930000] r7:c7b62548 r6:c799c000 r5:c7810320 r4:c7b6254c [ 557.930000] [] (run_workqueue+0x0/0x234) from [] (worker_thread+0x104/0x118) [ 557.930000] [] (worker_thread+0x0/0x118) from [] (kthread+0x64/0x98) [ 557.930000] r8:00000000 r7:00000000 r6:c006debc r5:c7810320 r4:c799c000 [ 557.930000] [] (kthread+0x0/0x98) from [] (do_exit+0x0/0x2c8) [ 557.930000] r6:00000000 r5:00000000 r4:00000000 [ 557.930000] Code: e24cb004 e24dd034 e3a0a000 e1a05000 (e50b1044) [ 557.930000] Bad mode in data abort handler detected [ 557.930000] BUG: spinlock lockup on CPU#0, events/0/5, c04cf4a0 [ 557.930000] [] (dump_stack+0x0/0x18) from [] (_raw_spin_lock+0x114/0x150) [ 557.930000] [] (_raw_spin_lock+0x0/0x150) from [] (_spin_lock_irq+0x7c/0x90) [ 557.930000] [] (_spin_lock_irq+0x0/0x90) from [] (die+0x3c/0xcc) [ 557.930000] r7:c799ddd8 r6:c045cc36 r5:00000000 r4:c799ddd8 [ 557.930000] [] (die+0x0/0xcc) from [] (bad_mode+0x4c/0x5c) [ 557.930000] [] (bad_mode+0x0/0x5c) from [] (add_taint+0x24/0x30) [ 557.930000] r4:00000007 : [21474541.560000] ramconsole: old data ends here bad_mode(regs, r1=reason=BAD_DATA=1) common_invalid (we hit data abort in FIQ_32 mode) (rb_reserve_next_event is trying to write to r1 but r1 is 3?) c0a016f0 l O .bss 00000020 global_trace __actual_isr rb_reserve_next_event: c0094ea8: e50b1044 str r1, [fp, #-68] hdq_read: c0290270: e3a04005 mov r4, #5 ; 0x5 gta02_fiq_kick: c0043ecc: ebffd82e bl c0039f8c === c78103a0 ?? ??:0 === 00000003 ?? ??:0 === 00000018 ?? ??:0 === 0000001b ?? ??:0 === 00000000 ?? ??:0 === c78103a0 ?? ??:0 === c0a016f0 __bss_start klist.c:0 === c003ed24 __actual_isr /local/lindi/neolinux/arch/arm/kernel/fiq.c:184 === 00000015 ?? ??:0 === 00000001 ?? ??:0 === 00000014 ?? ??:0 === c799deb4 ?? ??:0 === 00590000 ?? ??:0 === c799de58 ?? ??:0 === 00000001 ?? ??:0 === c0094ea8 rb_reserve_next_event /local/lindi/neolinux/kernel/trace/ring_buffer.c:1176 === 800000d1 ?? ??:0 === ffffffff ?? ??:0 === 00000001 ?? ??:0 === c0a330e8 __bss_start klist.c:0 === c799decc ?? ??:0 === c799deb8 ?? ??:0 === c0290270 hdq_read /local/lindi/neolinux/drivers/power/hdq.c:257 === c0043ecc gta02_fiq_kick /local/lindi/neolinux/arch/arm/mach-s3c2442/mach-gta02.c:179 === c7b6254c ?? ??:0 === 00000002 ?? ??:0 === c799def4 ?? ??:0 === c799ded0 ?? ??:0 === c028f468 hdq_read16 /local/lindi/neolinux/drivers/power/bq27000_battery.c:157 === c0290224 hdq_read /local/lindi/neolinux/drivers/power/hdq.c:249 === c7b6254c ?? ??:0 === c7810320 ?? ??:0 === c7b62400 ?? ??:0 === c7b62548 ?? ??:0 === 00000000 ?? ??:0 === c799df54 ?? ??:0 === c799df34 ?? ??:0 === c799def8 ?? ??:0 === c028f9f4 bq27000_battery_work /local/lindi/neolinux/drivers/power/bq27000_battery.c:320 === c028f448 hdq_read16 /local/lindi/neolinux/drivers/power/bq27000_battery.c:148 === c799df34 ?? ??:0 === c799df08 ?? ??:0 === c007e9d0 lock_acquire /local/lindi/neolinux/kernel/lockdep.c:2947 === c007e178 __lock_acquire /local/lindi/neolinux/kernel/lockdep.c:2535 === 00000001 ?? ??:0 === 00000000 ?? ??:0 === 00000000 ?? ??:0 === c006da38 ____atomic_clear_bit /local/lindi/neolinux/arch/arm/include/asm/bitops.h:56 === c7b6254c ?? ??:0 === c7810320 ?? ??:0 === c799c000 ?? ??:0 === c7b62548 ?? ??:0 === c799df94 ?? ??:0 === c799df38 ?? ??:0 === c006dab0 run_workqueue /local/lindi/neolinux/kernel/workqueue.c:297 === c028f9c8 bq27000_battery_work /local/lindi/neolinux/drivers/power/bq27000_battery.c:313 === 00000001 ?? ??:0 === 00000000 ?? ??:0 === c006da38 ____atomic_clear_bit /local/lindi/neolinux/arch/arm/include/asm/bitops.h:56 === c799df60 ?? ??:0 === c7810344 ?? ??:0 === c028f9b8 bq27000_battery_work /local/lindi/neolinux/drivers/power/bq27000_battery.c:313 === c7810320 ?? ??:0 === c0a330e0 __bss_start klist.c:0 === 00000000 ?? ??:0 === c0498f9a kallsyms_token_index klist.c:0 === 00000000 ?? ??:0 === 00000000 ?? ??:0 === c799df74 ?? ??:0 === c781034c ?? ??:0 === c799c000 ?? ??:0 === c7810320 ?? ??:0 === c7810344 ?? ??:0 === c799df9c ?? ??:0 === 00000000 ?? ??:0 === 00000000 ?? ??:0 === c799dfd4 ?? ??:0 === c799df98 ?? ??:0 === c006dfc0 worker_thread /local/lindi/neolinux/kernel/workqueue.c:341 === c006d988 run_workqueue /local/lindi/neolinux/kernel/workqueue.c:263 === c03af418 test_bit /local/lindi/neolinux/include/asm-generic/bitops/non-atomic.h:105 === 00000000 ?? ??:0 === c799a0a0 ?? ??:0 === c0072514 autoremove_wake_function /local/lindi/neolinux/kernel/wait.c:121 === c799dfa8 ?? ??:0 === c799dfa8 ?? ??:0 === c7810320 ?? ??:0 === c799c000 ?? ??:0 === c7810320 ?? ??:0 === c006debc worker_thread /local/lindi/neolinux/kernel/workqueue.c:319 === 00000000 ?? ??:0 === 00000000 ?? ??:0 === c799dff4 ?? ??:0 === c799dfd8 ?? ??:0 === c00721b4 kthread /local/lindi/neolinux/kernel/kthread.c:83 === c006decc worker_thread /local/lindi/neolinux/kernel/workqueue.c:319 === 00000000 ?? ??:0 === 00000000 ?? ??:0 === 00000000 ?? ??:0 === 00000000 ?? ??:0 === 00000000 ?? ??:0 === c799dff8 ?? ??:0 === c005f7e4 do_exit /local/lindi/neolinux/kernel/exit.c:1004 === c0072160 kthread /local/lindi/neolinux/kernel/kthread.c:67 === ffffffff ?? ??:0 === ffffffff ?? ??:0