Using a script which repeatedly uses wpa_supplicant to associate to an AP (WEP encryption), waits to obtain an IP over dhcp then shuts down wpa_supplicant and repeats the process, I reliably get this crash after a few hours:
NMI Watchdog detected LOCKUP on CPU 3
Pid: 22708, comm: wpa_supplicant Tainted:P 2.6.18-brontes-r6 #1
RIP: .text.lock.spinlock+022/0x97
Call Trace:
<IRQ> :wlan:ieee80211_free_node+0x2f/0xa0
:ath:pci:ath_rx_tasklet
tasklet_action
__do_softirq
:wlan:ieee80211_ioctl_setmlme
call_softirq
do_IRQ
ret_from_intr
<EOI> :ath_pci:ath_updateslot
:ath_pci:ath_wme_update
:ath_hal:zz0067d221
:wlan:ieee80211_wme_updateparams_locked
:wlan:ieee80211_wme_initparams
:wlan:ieee80211_sta_join1
:wlan:ieee80211_ioctl_setmlme
wireless_process_ioctl
netdev_run_todo
dev_ioctl
do_page_fault
sock_ioctl
do_ioctl
vfs_ioctl
sys_ioctl
system_call
console shuts up ...
Kernel panic - not syncing: Aiee, killing interrupt handler!
It looks like it is trying to obtain a lock which has already been freed.