linux-kernel-test/drivers/net/wireless/ath/ath9k
Luis R. Rodriguez bd96d39095 ath9k: move ath_cleanup() below helpers to avoid forward declarations
This should fix the oops which occurs during module unload
due to the dereferencig of ah upon debugfs exit.

IP: [<46412d6b>] 0x46412d6b
*pde = 00000000
Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
last sysfs file: /sys/class/power_supply/BAT0/energy_full
Modules linked in: ath9k(-) ath9k_hw mac80211 ath cfg80211 <bleh>

Pid: 3112, comm: rmmod Not tainted (2.6.32-rc2-wl #101) 9461DUU
EIP: 0060:[<46412d6b>] EFLAGS: 00010246 CPU: 0
EIP is at 0x46412d6b
EAX: f5870004 EBX: f6700d94 ECX: 00000000 EDX: c14313a7
ESI: f5870000 EDI: fb58ce70 EBP: f6661eb4 ESP: f6661ea8
DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Process rmmod (pid: 3112, ti=f6660000 task=f6579380 task.ti=f6660000)
Stack:
fb57e5e5 f5ca5d50 fb58ce70 f6661ebc fb58629a f6661ec8 c11b715e f5ca5da8
<0> f6661ed8 c1223d98 f5ca5da8 f5ca5ddc f6661eec c1223e6f fb58ce70 fb58ce70
<0> c14958a0 f6661f00 c1222edb fb58ce70 fb58ce70 fb58cebc f6661f1c c12243c9
Call Trace:
[<fb57e5e5>] ? ath_cleanup+0x35/0x50 [ath9k]
[<fb58629a>] ? ath_pci_remove+0x1a/0x20 [ath9k]
[<c11b715e>] ? pci_device_remove+0x1e/0x40
[<c1223d98>] ? __device_release_driver+0x58/0xa0
[<c1223e6f>] ? driver_detach+0x8f/0xa0
[<c1222edb>] ? bus_remove_driver+0x7b/0xb0
[<c12243c9>] ? driver_unregister+0x49/0x80
[<c1158cf2>] ? sysfs_remove_file+0x12/0x20
[<c11b73b5>] ? pci_unregister_driver+0x35/0x90
[<fb586172>] ? ath_pci_exit+0x12/0x20 [ath9k]
[<fb5883ec>] ? ath9k_exit+0x10/0x3d [ath9k]
[<c131971d>] ? mutex_unlock+0xd/0x10
[<c1088c0f>] ? sys_delete_module+0x16f/0x220
[<c10e3d5d>] ? do_munmap+0x23d/0x290
[<c11a629c>] ? trace_hardirqs_off_thunk+0xc/0x10
[<c11a628c>] ? trace_hardirqs_on_thunk+0xc/0x10
[<c1003b41>] ? sysenter_exit+0xf/0x1a
[<c1003b08>] ? sysenter_do_call+0x12/0x3c
Code:  Bad EIP value.
EIP: [<46412d6b>] 0x46412d6b SS:ESP 0068:f6661ea8
CR2: 0000000046412d6b
---[ end trace 847f3b05ff3dcb19 ]---

Reported-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-10-07 16:39:53 -04:00
..
ahb.c atheros: move bus ops to ath_common 2009-10-07 16:39:30 -04:00
ani.c ath9k: move hw code to its own module 2009-10-07 16:39:41 -04:00
ani.h ath9k: Nuke struct ath9k_node_stats 2009-08-20 11:36:08 -04:00
ath9k.h atheros: move bus ops to ath_common 2009-10-07 16:39:30 -04:00
beacon.c atheros: move tx/rx chainmask to ath_common 2009-10-07 16:39:29 -04:00
btcoex.c ath9k: move hw code to its own module 2009-10-07 16:39:41 -04:00
btcoex.h ath9k: rename ath_btcoex_supported() to ath9k_hw_btcoex_supported() 2009-10-07 16:39:23 -04:00
calib.c ath9k: move hw code to its own module 2009-10-07 16:39:41 -04:00
calib.h atheros: add common debug printing 2009-10-07 16:39:29 -04:00
debug.c ath9k: move common->debug_mask setting to ath_init_softc() 2009-10-07 16:39:51 -04:00
debug.h atheros: add common debug printing 2009-10-07 16:39:29 -04:00
eeprom_4k.c ath9k: Fix bugs in handling TX power 2009-10-07 16:39:40 -04:00
eeprom_9287.c atheros: move bus ops to ath_common 2009-10-07 16:39:30 -04:00
eeprom_def.c ath9k: Fix bugs in handling TX power 2009-10-07 16:39:40 -04:00
eeprom.c atheros: move bus ops to ath_common 2009-10-07 16:39:30 -04:00
eeprom.h ath9k: Fix bugs in handling TX power 2009-10-07 16:39:40 -04:00
hw.c ath9k: initialize hw prior to debugfs 2009-10-07 16:39:51 -04:00
hw.h atheros: define a common priv struct 2009-10-07 16:39:42 -04:00
initvals.h ath9k: Update initvals 2009-10-07 16:39:39 -04:00
Kconfig ath9k: move hw code to its own module 2009-10-07 16:39:41 -04:00
mac.c ath9k: move hw code to its own module 2009-10-07 16:39:41 -04:00
mac.h ath9k: remove ath9k_ht_macmode 2009-10-07 16:39:29 -04:00
main.c ath9k: move ath_cleanup() below helpers to avoid forward declarations 2009-10-07 16:39:53 -04:00
Makefile ath9k: move hw code to its own module 2009-10-07 16:39:41 -04:00
pci.c atheros: define a common priv struct 2009-10-07 16:39:42 -04:00
phy.c ath9k: Update INI release for AR9287 2009-10-07 16:39:38 -04:00
phy.h ath9k: remove ath9k 25 MHz HT40 spacing stuff 2009-10-07 16:39:29 -04:00
rc.c ath9k: remove driver ASSERT, just use BUG_ON() 2009-10-07 16:39:30 -04:00
rc.h ath9k: Nuke struct ath_tx_ratectrl_state 2009-07-24 15:05:17 -04:00
recv.c ath9k: Allow PSPOLL only when the interface is configured in AP mode 2009-10-07 16:39:39 -04:00
reg.h atheros: define shared bssidmask setting 2009-10-07 16:39:28 -04:00
virtual.c atheros: define shared bssidmask setting 2009-10-07 16:39:28 -04:00
xmit.c ath9k: remove driver ASSERT, just use BUG_ON() 2009-10-07 16:39:30 -04:00