I'm using madwifi 0.9.2 on XScale IXP425 BE and getting the following oops a lot.
The board is ADI Pronghorn and the kernel version is 2.6.12. I have tested this on r1860 and it happens also. I figured you'd probably be more interested in the r1860 oops so this is the one that I post here. The way to reproduce this is simply by loading-unloading the driver repeatedly using a script. The oops happens during the loading phase.
The oops dump is:
ath_hal done
ath_hal: 0.9.18.0 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413, REGOPS_FUNC)
wlan done
wlan: 0.8.4.2 (svn r1860)
ath_rate_sample done
ath_rate_sample: 1.2 (svn r1860)
wlan_scan_sta done
ath_pci done
ath_pci: 0.9.4.5 (svn r1860)
PCI: enabling device 0000:00:0f.0 (0340 -> 0342)
wifi0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
wifi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: H/W encryption support: WEP AES AES_CCM TKIP
wifi0: mac 5.9 phy 4.3 radio 3.6
wifi0: Use hw queue 1 for WME_AC_BE traffic
wifi0: Use hw queue 0 for WME_AC_BK traffic
wifi0: Use hw queue 2 for WME_AC_VI traffic
wifi0: Use hw queue 3 for WME_AC_VO traffic
wifi0: Use hw queue 8 for CAB traffic
wifi0: Use hw queue 9 for beacons
wifi0: Atheros 5212: mem=0x48000000, irq=28
Setting IP params of the wireless interface
Applying [essid=celeno] to client
Applying [band=11a] to client
Applying [channel=52] to client
Applying [rate=54M] to client
Applying [txpower=6] to client
Applying [ack_rate=min] to client
Bad mode in data abort handler detected: mode IRQ_32
Internal error: Oops - bad mode: 0 [#1]
Modules linked in: ath_pci wlan_scan_sta ath_rate_sample wlan ath_hal ixp425_eth ixp400
CPU: 0
PC is at 0xffff021c
LR is at zz00067d32+0x2c/0x5c [ath_hal]
pc : [<ffff021c>] lr : [<bf0ab6f8>] Tainted: P
sp : c3b11c3c ip : c3b11c94 fp : c3b11c90
r10: c38b8000 r9 : 00000001 r8 : c38b8000
r7 : 00004000 r6 : 00000003 r5 : 00000003 r4 : 00000000
r3 : c4860000 r2 : 00000003 r1 : 00004000 r0 : c38b8000
Flags: Nzcv IRQs off FIQs on Mode IRQ_32 Segment user
Control: 39FF Table: 02E74000 DAC: 00000015
Process grep (pid: 732, stack limit = 0xc3b10194)
Stack: (0xc3b11c3c to 0xc3b12000)
1c20: c38b8000
1c40: 00004000 00000003 c4860000 00000000 00000003 00000003 00004000 c38b8000
1c60: 00000001 c38b8000 c3b11c90 c3b11c94 c3b11c3c bf0ab6f8 ffff021c 80000092
1c80: ffffffff c3b11cb4 c3b11c94 bf0ab6f8 bf0ab1e4 00000003 c38b8000 c3b11d70
1ca0: 00000000 c3228448 c3b11cd4 c3b11cb8 bf0c0ab0 bf0ab6d8 00000003 c38b8000
1cc0: c3b11d70 c3b11d70 c3b11cfc c3b11cd8 bf0c047c bf0c0a24 02000000 c38b8000
1ce0: c3b11d70 00000000 c3228448 c38b8000 c3b11d54 c3b11d00 bf0bf330 bf0c046c
1d00: bf0bd570 bf0ab1e4 02000000 00000020 00000001 00000017 c38b89bc 00000000
1d20: 00018000 00000001 c3b11d54 c3b11d70 c3228220 c3228220 c38b8000 c3228448
1d40: c3228000 c3228220 c3b11da0 c3b11d58 bf1291bc bf0bf100 c3b11d6c c3b11dac
1d60: 00001000 c02c8520 00000000 c3b11d78 16c10140 c00299f0 c3228220 c3228220
1d80: c3b87000 c3228220 c2cda220 000000c8 c3228448 c3b11db8 c3b11da4 bf1297d4
1da0: bf12900c 00000000 7ffbd436 c3b11dc8 c3b11dbc bf0f55e4 bf1297bc c3b11e14
1dc0: c3b11dcc bf0f6144 bf0f55d8 c032a820 00000000 c3b11e94 00000000 c3b11ddc
1de0: c3b11ddc c032a820 c3b11e0c c3b10000 00000100 00000000 bf0f5fbc c3b11e18
1e00: c024553c c0244b34 c3b11e4c c3b11e18 c0043c00 bf0f5fc8 c3b11e18 c3b11e18
1e20: c00278fc 00000001 c02448d0 c02463a8 0000000a 4006a000 c3c43900 00000047
1e40: c3b11e6c c3b11e50 c003f36c c0043a74 c3b11e94 0000001f 00000020 40023000
1e60: c3b11e7c c3b11e70 c003f510 c003f318 c3b11e90 c3b11e80 c0023b48 c003f4dc
1e80: ffffffff c3b11f28 c3b11e94 c0022740 c0023af0 fffe9540 ffff0000 00100077
1ea0: 00047000 40023000 00100077 c3b11f7c 40023000 4006a000 c3c43900 00000047
1ec0: c3b11f28 00000000 c3b11edc c006ce84 c002b6d8 20000013 ffffffff c2e75000
1ee0: c0343750 40023000 00000017 c2e75000 c3c43900 0000005f 4006a000 c03433e0
1f00: c03433e0 00100077 c3b11f7c 40023000 4006a000 c3c43900 00000047 c3b11f74
1f20: c3b11f2c c006d0f4 c006cdf4 00100077 00000000 c3cd7a00 00000000 00000000
1f40: 0000005f 00000047 00000075 4006a000 40023000 fffffff4 00000000 4006a000
1f60: c3b10000 00000007 c3b11fa4 c3b11f78 c006d2d4 c006cf9c 00000077 c03433e0
1f80: 40006074 00000002 40006000 0000007d c0022c44 4000d090 00000000 c3b11fa8
1fa0: c0022ac0 c006d16c 40006074 c00299f0 40023000 000461e0 00000007 000461e0
1fc0: 40006074 00000002 40006000 bef7b694 bef7ae08 40071468 4000d090 00000fff
1fe0: 4000602c bef7ac60 fffff000 40002834 20000010 40023000 00000000 00000000
Backtrace:
[<bf0ab1d8>] (ath_hal_reg_read+0x0/0x48 [ath_hal]) from [<bf0ab6f8>] (zz00067d32+0x2c/0x5c [ath_hal])
[<bf0ab6cc>] (zz00067d32+0x0/0x5c [ath_hal]) from [<bf0c0ab0>] (zz05b781e0+0x3cc/0x438 [ath_hal])
r8 = C3228448 r7 = 00000000 r6 = C3B11D70 r5 = C38B8000
r4 = 00000003
[<bf0c0a18>] (zz05b781e0+0x334/0x438 [ath_hal]) from [<bf0c047c>] (zz002db292+0x1c/0x284 [ath_hal])
r6 = C3B11D70 r5 = C3B11D70 r4 = C38B8000
[<bf0c0460>] (zz002db292+0x0/0x284 [ath_hal]) from [<bf0bf330>] (zz0002dbd2+0x23c/0xf90 [ath_hal])
[<bf0bf0f4>] (zz0002dbd2+0x0/0xf90 [ath_hal]) from [<bf1291bc>] (ath_chan_set+0x1bc/0x424 [ath_pci])
[<bf129000>] (ath_chan_set+0x0/0x424 [ath_pci]) from [<bf1297d4>] (ath_set_channel+0x24/0x64 [ath_pci])
[<bf1297b0>] (ath_set_channel+0x0/0x64 [ath_pci]) from [<bf0f55e4>] (change_channel+0x18/0x1c [wlan])
r5 = 7FFBD436 r4 = 00000000
[<bf0f55cc>] (change_channel+0x0/0x1c [wlan]) from [<bf0f6144>] (scan_next+0x188/0x454 [wlan])
[<bf0f5fbc>] (scan_next+0x0/0x454 [wlan]) from [<c0043c00>] (run_timer_softirq+0x198/0x214)
[<c0043a68>] (run_timer_softirq+0x0/0x214) from [<c003f36c>] (__do_softirq+0x60/0xdc)
[<c003f30c>] (__do_softirq+0x0/0xdc) from [<c003f510>] (irq_exit+0x40/0x48)
r7 = 40023000 r6 = 00000020 r5 = 0000001F r4 = C3B11E94
[<c003f4d0>] (irq_exit+0x0/0x48) from [<c0023b48>] (asm_do_IRQ+0x64/0x74)
[<c0023ae4>] (asm_do_IRQ+0x0/0x74) from [<c0022740>] (__irq_svc+0x20/0x60)
r4 = FFFFFFFF
[<c006cde8>] (change_protection+0x0/0x1a8) from [<c006d0f4>] (mprotect_fixup+0x164/0x1d0)
[<c006cf90>] (mprotect_fixup+0x0/0x1d0) from [<c006d2d4>] (sys_mprotect+0x174/0x1dc)
[<c006d160>] (sys_mprotect+0x0/0x1dc) from [<c0022ac0>] (ret_fast_syscall+0x0/0x2c)
Code: e14fe000 e58de004 e10fd000 e3cdd01f (e38dd013)
<0>Kernel panic - not syncing: Aiee, killing interrupt handler!
Note that some of the printouts just before the oops are from my boot scripts which sets various parameters using iwconfig/iwpriv.
I get this oops in various forms i.e. the process is not always the same but the final part of the scan timer is always the same.
I was wondering if this is also related to the problems that XScale has with recent HALs (as reported in ticket #914).