Mohammed Shafi Shajakhan
5d9b6f2639
ath9k: Fix a crash in 2 WIRE btcoex chipsets
Generic timers for BTCOEX functionality is applicable
only for 3 WIRE BTCOEX (and MCI) chipsets.
Hence btcoex->no_stomp_timer is allocated only 3 WIRE
btcoex chipsets and in all the other cases its NULL.
Make sure we stop the generic timer only if
'btcoex->hw_timer_enabled' is true(only if its up and
running)
Fixes the following crash
[68757.020454] BUG: unable to handle kernel NULL pointer dereference at 0000000c
[68757.020916] IP: [<f9b055c3>] ath9k_hw_gen_timer_stop+0x13/0x80 [ath9k_hw]
[68757.021251] *pde = 00000000
[68757.024384] EIP: 0060:[<f9b055c3>] EFLAGS: 00010082 CPU: 0
[68757.024384] EIP is at ath9k_hw_gen_timer_stop+0x13/0x80 [ath9k_hw]
[68757.024384] EAX: d32d0000 EBX: d32d0000 ECX: 00000000 EDX: 00000000
[68757.024384] ESI: e67c24c0 EDI: 00000296 EBP: e137be2c ESP: e137be20
[68757.024384] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[68757.024384] CR0: 8005003b CR2: 0000000c CR3: 00b99000 CR4: 000407d0
[68757.024384] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[68757.024384] DR6: ffff0ff0 DR7: 00000400
[68757.024384] Process kworker/u:2 (pid: 8917, ti=e137a000 task=ea7a6860 task.ti=e137a000)
[68757.024384] Stack:
[68757.024384] c06c4676 d32d0000 e67c24c0 e137be38 f81c9590 e67c1ca0 e137be40 f81c95d9
[68757.024384] e137be64 f81cd1c5 00000246 00000002 d32d0000 e67c05e0 e67c1ca0 e67c05e0
[68757.024384] 00000000 e137beac f81cdfa0 e137be84 00000246 00000246 e67c1ca0 e67c1ca0
[68757.024384] Call Trace:
[68757.024384] [<c06c4676>] ? _raw_spin_lock_irqsave+0x86/0xa0
[68757.024384] [<f81c9590>] ath9k_gen_timer_stop+0x10/0x40 [ath9k]
[68757.024384] [<f81c95d9>] ath9k_btcoex_stop_gen_timer+0x19/0x20 [ath9k]
[68757.024384] [<f81cd1c5>] ath9k_ps_restore+0x85/0x110 [ath9k]
[68757.024384] [<f81cdfa0>] ath9k_config+0x220/0x520 [ath9k]
[68757.024384] [<f81cd47d>] ? ath9k_flush+0x15d/0x1b0 [ath9k]
[68757.024384] [<f85c7ca5>] ieee80211_hw_config+0x135/0x2c0 [mac80211]
[68757.024384] [<f860e3c8>] ieee80211_dynamic_ps_enable_work+0x198/0x5f0 [mac80211]
Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Cc: Bala Shanmugam <bkamatch@qca.qualcomm.com>
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-09-05 14:53:33 -04:00
..
2012-07-09 16:36:24 -04:00
2012-06-28 14:37:46 -04:00
2012-06-28 14:37:46 -04:00
2012-06-06 15:20:31 -04:00
2012-07-09 16:36:26 -04:00
2011-09-13 15:42:31 -04:00
2012-06-22 14:44:05 -04:00
2012-02-27 14:05:41 -05:00
2011-12-19 14:35:31 -05:00
2012-07-17 15:11:34 -04:00
2012-07-12 15:27:16 -04:00
2012-04-16 14:16:58 -04:00
2012-04-12 15:10:32 -04:00
2012-03-15 13:45:08 -04:00
2012-06-28 14:37:47 -04:00
2012-07-09 16:36:18 -04:00
2012-07-20 12:30:48 -04:00
2012-07-17 15:11:36 -04:00
2012-07-17 15:11:34 -04:00
2012-06-13 14:35:54 -04:00
2012-02-27 14:05:44 -05:00
2012-07-09 16:36:20 -04:00
2012-06-13 14:36:02 -04:00
2012-09-05 14:53:31 -04:00
2012-07-17 15:11:32 -04:00
2012-09-05 14:53:31 -04:00
2012-05-15 17:27:55 -04:00
2012-05-15 17:27:55 -04:00
2012-06-28 14:37:47 -04:00
2012-06-28 14:37:47 -04:00
2012-06-28 14:37:47 -04:00
2012-06-28 14:37:47 -04:00
2012-06-28 14:37:47 -04:00
2012-06-28 14:37:47 -04:00
2012-07-17 15:11:40 -04:00
2012-07-17 15:11:40 -04:00
2012-06-06 15:20:30 -04:00
2012-06-06 15:20:30 -04:00
2012-03-26 15:07:23 -04:00
2012-07-17 15:11:34 -04:00
2011-10-11 16:41:26 -04:00
2011-08-24 13:59:45 -04:00
2012-07-17 15:11:39 -04:00
2012-07-17 15:11:40 -04:00
2012-04-23 15:37:41 -04:00
2012-04-23 15:37:41 -04:00
2012-04-11 16:23:52 -04:00
2012-04-11 16:23:52 -04:00
2012-04-23 15:37:41 -04:00
2012-04-11 16:23:52 -04:00
2012-04-23 15:37:41 -04:00
2012-04-11 16:23:54 -04:00
2012-06-12 14:25:04 -04:00
2012-06-05 15:23:20 -04:00
2012-06-12 14:25:04 -04:00
2012-04-17 14:57:13 -04:00
2012-07-17 15:11:36 -04:00
2012-09-05 14:53:33 -04:00
2012-05-22 15:50:46 -07:00
2012-01-30 15:48:42 -05:00
2012-06-26 14:28:51 -04:00
2012-04-05 15:25:50 -07:00
2012-06-26 14:28:52 -04:00
2012-06-26 14:28:51 -04:00
2012-07-17 15:11:38 -04:00
2012-06-26 14:28:51 -04:00
2012-04-10 14:52:13 -04:00
2011-05-19 13:54:05 -04:00
2012-06-26 14:28:52 -04:00
2012-02-13 00:47:40 -05:00
2012-09-05 14:53:33 -04:00
2012-09-05 14:53:32 -04:00
2012-07-17 15:11:39 -04:00
2012-07-17 15:11:31 -04:00
2012-09-05 14:53:32 -04:00
2012-08-10 14:50:24 -04:00
2012-08-10 14:50:24 -04:00
2012-08-10 14:50:24 -04:00
2012-07-12 15:27:16 -04:00
2012-07-17 15:11:40 -04:00
2012-06-06 15:20:24 -04:00
2012-08-10 14:51:29 -04:00
2011-05-19 13:54:05 -04:00
2012-06-13 14:35:51 -04:00
2012-03-05 15:23:14 -05:00
2012-08-13 15:17:24 -04:00
2012-07-12 15:27:15 -04:00
2011-12-19 14:35:31 -05:00
2011-05-19 13:54:05 -04:00
2012-07-12 15:27:16 -04:00
2012-09-05 14:53:32 -04:00