Sujith Manoharan
bff2ec2b91
ath9k: Fix BTCOEX shutdown
Flush MCI profiles only if MCI is being actually used.
This fixes a panic on driver unload when non-MCI devices
are being used and btcoex_enable is set.
BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [<ffffffffa06296d2>] ath_mci_flush_profile+0x12/0x100 [ath9k]
Call Trace:
[<ffffffffa061befe>] ath9k_stop_btcoex+0x5e/0x80 [ath9k]
[<ffffffffa061ed57>] ath9k_stop+0xb7/0x230 [ath9k]
[<ffffffffa0533f30>] ieee80211_stop_device+0x50/0x180 [mac80211]
[<ffffffffa051f0cf>] ieee80211_do_stop+0x2af/0x6a0 [mac80211]
[<ffffffffa051f4da>] ieee80211_stop+0x1a/0x20 [mac80211]
[<ffffffff81365d96>] __dev_close_many+0x86/0xe0
[<ffffffff81365ee0>] dev_close_many+0xa0/0x110
[<ffffffff81366038>] rollback_registered_many+0xe8/0x260
[<ffffffff813661cb>] unregister_netdevice_many+0x1b/0x80
[<ffffffffa051e950>] ieee80211_remove_interfaces+0xd0/0x110 [mac80211]
[<ffffffffa050c133>] ieee80211_unregister_hw+0x53/0x120 [mac80211]
[<ffffffffa061d5a4>] ath9k_deinit_device+0x44/0x70 [ath9k]
[<ffffffffa062c1d4>] ath_pci_remove+0x54/0xa0 [ath9k]
[<ffffffff81267c46>] pci_device_remove+0x46/0x110
[<ffffffff8131021c>] __device_release_driver+0x7c/0xe0
[<ffffffff81310960>] driver_detach+0xd0/0xe0
[<ffffffff81310078>] bus_remove_driver+0x88/0xe0
[<ffffffff81311122>] driver_unregister+0x62/0xa0
[<ffffffff81268004>] pci_unregister_driver+0x44/0xc0
[<ffffffffa062c8b5>] ath_pci_exit+0x15/0x20 [ath9k]
[<ffffffffa063205d>] ath9k_exit+0x15/0x31 [ath9k]
[<ffffffff810b92cc>] sys_delete_module+0x18c/0x270
[<ffffffff814373dd>] ? retint_swapgs+0x13/0x1b
[<ffffffff8124828e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[<ffffffff81437de9>] system_call_fastpath+0x16/0x1b
Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-03-12 14:19:33 -04:00
..
2012-01-13 09:32:20 +10:30
2012-01-18 15:51:48 -08:00
2012-01-08 13:10:57 -08:00
2012-01-17 20:50:53 -05:00
2012-01-13 09:32:20 +10:30
2012-01-23 15:11:27 -08:00
2012-03-07 13:56:37 -05:00
2012-01-18 15:41:27 -08:00
2012-02-15 13:09:26 +02:00
2012-01-14 15:07:24 -08:00
2012-01-18 15:50:17 -08:00
2012-01-06 18:15:25 -08:00
2012-01-11 18:53:33 -08:00
2012-01-10 22:01:27 -08:00
2012-01-17 18:40:24 -08:00
2012-01-13 09:32:20 +10:30
2012-01-13 09:32:20 +10:30
2012-01-12 11:53:55 -05:00
2012-01-18 13:48:43 -07:00
2012-01-24 10:25:03 -08:00
2012-01-13 09:32:20 +10:30
2012-01-09 12:09:47 -08:00
2012-01-16 22:51:48 +01:00
2012-01-17 23:30:41 +00:00
2012-01-14 15:07:24 -08:00
2012-01-18 01:15:54 -05:00
2012-01-18 16:29:42 -08:00
2012-01-14 12:32:16 -08:00
2012-01-10 11:08:21 -08:00
2012-01-14 12:32:16 -08:00
2012-01-23 08:38:47 -08:00
2012-01-12 15:44:47 +10:30
2012-01-13 09:32:20 +10:30
2012-01-15 12:24:45 -08:00
2012-01-18 12:53:54 -08:00
2012-01-13 09:32:20 +10:30
2012-01-10 10:36:08 -08:00
2012-01-14 12:32:16 -08:00
2012-01-17 18:40:24 -08:00
2012-01-17 18:40:24 -08:00
2012-01-17 18:40:24 -08:00
2012-03-12 14:19:33 -04:00
2012-03-06 15:16:23 -05:00
2012-01-14 13:25:55 -08:00
2012-01-06 08:02:58 -08:00
2012-01-11 18:50:26 -08:00
2012-01-14 12:32:16 -08:00
2012-01-23 08:44:53 -08:00
2012-01-14 13:05:21 -08:00
2012-01-03 09:10:09 +01:00
2012-01-13 09:32:20 +10:30
2012-01-06 12:11:20 -08:00
2012-01-13 09:32:20 +10:30
2012-01-24 10:40:06 -08:00
2012-01-13 20:43:32 -08:00
2012-01-13 09:32:20 +10:30
2012-01-18 12:35:17 -08:00
2012-01-11 23:29:20 -08:00
2012-01-17 18:40:24 -08:00
2012-03-05 15:20:49 -05:00
2012-01-15 12:49:56 -08:00
2012-01-17 18:40:24 -08:00
2012-01-11 18:50:26 -08:00
2012-01-17 18:40:24 -08:00
2012-01-09 12:09:47 -08:00
2012-01-13 10:12:23 -08:00
2012-01-23 08:38:48 -08:00
2012-01-12 15:44:47 +10:30
2012-01-13 09:32:20 +10:30
2012-01-18 15:37:49 -08:00
2012-01-02 13:04:55 +01:00
2012-01-11 23:58:47 -05:00