aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath6kl/init.c
diff options
context:
space:
mode:
authorVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>2013-06-20 03:17:20 -0400
committerKalle Valo <kvalo@qca.qualcomm.com>2013-08-07 03:53:36 -0400
commitf32036e823c45cb4974aab1d0ae66d716bfc9aa6 (patch)
tree62e6915c2601b30cad35c0f6d3dc4d1c49c225fd /drivers/net/wireless/ath/ath6kl/init.c
parent8cc8df906f953ae0cfe785720989928021d7fe2d (diff)
ath6kl: Fix race in heart beat polling
Make sure to cancel heart beat timer before freeing wmi to avoid potential NULL pointer dereference. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/init.c')
-rw-r--r--drivers/net/wireless/ath/ath6kl/init.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/init.c b/drivers/net/wireless/ath/ath6kl/init.c
index 6a67881f94d6..4f316bdcbab5 100644
--- a/drivers/net/wireless/ath/ath6kl/init.c
+++ b/drivers/net/wireless/ath/ath6kl/init.c
@@ -1836,6 +1836,9 @@ void ath6kl_stop_txrx(struct ath6kl *ar)
1836 1836
1837 clear_bit(WMI_READY, &ar->flag); 1837 clear_bit(WMI_READY, &ar->flag);
1838 1838
1839 if (ar->fw_recovery.enable)
1840 del_timer_sync(&ar->fw_recovery.hb_timer);
1841
1839 /* 1842 /*
1840 * After wmi_shudown all WMI events will be dropped. We 1843 * After wmi_shudown all WMI events will be dropped. We
1841 * need to cleanup the buffers allocated in AP mode and 1844 * need to cleanup the buffers allocated in AP mode and