17e7d60
From 6e9344fd8e90ff0bd8e74c15ec7c21eae7d54bd3 Mon Sep 17 00:00:00 2001
17e7d60
From: Amitkumar Karwar <akarwar@marvell.com>
17e7d60
Date: Thu, 12 Mar 2015 00:38:40 -0700
17e7d60
Subject: [PATCH] mwifiex: use del_timer variant in interrupt context
17e7d60
17e7d60
We might be in interrupt context at few places. So replace
17e7d60
del_timer_sync() with del_timer(). This patch fixes a kernel
17e7d60
trace problem seen occasionally during our testing.
17e7d60
17e7d60
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
17e7d60
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
17e7d60
---
17e7d60
 drivers/net/wireless/mwifiex/main.c      | 2 +-
17e7d60
 drivers/net/wireless/mwifiex/sta_event.c | 4 ++--
17e7d60
 drivers/net/wireless/mwifiex/usb.c       | 2 +-
17e7d60
 3 files changed, 4 insertions(+), 4 deletions(-)
17e7d60
17e7d60
diff --git a/drivers/net/wireless/mwifiex/main.c b/drivers/net/wireless/mwifiex/main.c
17e7d60
index 74488ab..42bf884 100644
17e7d60
--- a/drivers/net/wireless/mwifiex/main.c
17e7d60
+++ b/drivers/net/wireless/mwifiex/main.c
17e7d60
@@ -247,7 +247,7 @@ process_start:
17e7d60
 		if (IS_CARD_RX_RCVD(adapter)) {
17e7d60
 			adapter->data_received = false;
17e7d60
 			adapter->pm_wakeup_fw_try = false;
17e7d60
-			del_timer_sync(&adapter->wakeup_timer);
17e7d60
+			del_timer(&adapter->wakeup_timer);
17e7d60
 			if (adapter->ps_state == PS_STATE_SLEEP)
17e7d60
 				adapter->ps_state = PS_STATE_AWAKE;
17e7d60
 		} else {
17e7d60
diff --git a/drivers/net/wireless/mwifiex/sta_event.c b/drivers/net/wireless/mwifiex/sta_event.c
17e7d60
index 64c4223..0dc7a1d 100644
17e7d60
--- a/drivers/net/wireless/mwifiex/sta_event.c
17e7d60
+++ b/drivers/net/wireless/mwifiex/sta_event.c
17e7d60
@@ -312,7 +312,7 @@ int mwifiex_process_sta_event(struct mwifiex_private *priv)
17e7d60
 					adapter->ps_state = PS_STATE_AWAKE;
17e7d60
 					adapter->pm_wakeup_card_req = false;
17e7d60
 					adapter->pm_wakeup_fw_try = false;
17e7d60
-					del_timer_sync(&adapter->wakeup_timer);
17e7d60
+					del_timer(&adapter->wakeup_timer);
17e7d60
 					break;
17e7d60
 				}
17e7d60
 				if (!mwifiex_send_null_packet
17e7d60
@@ -327,7 +327,7 @@ int mwifiex_process_sta_event(struct mwifiex_private *priv)
17e7d60
 		adapter->ps_state = PS_STATE_AWAKE;
17e7d60
 		adapter->pm_wakeup_card_req = false;
17e7d60
 		adapter->pm_wakeup_fw_try = false;
17e7d60
-		del_timer_sync(&adapter->wakeup_timer);
17e7d60
+		del_timer(&adapter->wakeup_timer);
17e7d60
 
17e7d60
 		break;
17e7d60
 
17e7d60
diff --git a/drivers/net/wireless/mwifiex/usb.c b/drivers/net/wireless/mwifiex/usb.c
17e7d60
index 2238730..8beb38c 100644
17e7d60
--- a/drivers/net/wireless/mwifiex/usb.c
17e7d60
+++ b/drivers/net/wireless/mwifiex/usb.c
17e7d60
@@ -1006,7 +1006,7 @@ static int mwifiex_pm_wakeup_card(struct mwifiex_adapter *adapter)
17e7d60
 {
17e7d60
 	/* Simulation of HS_AWAKE event */
17e7d60
 	adapter->pm_wakeup_fw_try = false;
17e7d60
-	del_timer_sync(&adapter->wakeup_timer);
17e7d60
+	del_timer(&adapter->wakeup_timer);
17e7d60
 	adapter->pm_wakeup_card_req = false;
17e7d60
 	adapter->ps_state = PS_STATE_AWAKE;
17e7d60
 
17e7d60
-- 
17e7d60
2.4.1
17e7d60