mwifiex: use del_timer variant in interrupt context
authorAmitkumar Karwar <akarwar@marvell.com>
Thu, 12 Mar 2015 07:38:40 +0000 (00:38 -0700)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 16 Mar 2015 16:05:01 +0000 (18:05 +0200)
We might be in interrupt context at few places. So replace
del_timer_sync() with del_timer(). This patch fixes a kernel
trace problem seen occasionally during our testing.

Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/mwifiex/main.c
drivers/net/wireless/mwifiex/sta_event.c
drivers/net/wireless/mwifiex/usb.c

index 74488ab..42bf884 100644 (file)
@@ -247,7 +247,7 @@ process_start:
                if (IS_CARD_RX_RCVD(adapter)) {
                        adapter->data_received = false;
                        adapter->pm_wakeup_fw_try = false;
-                       del_timer_sync(&adapter->wakeup_timer);
+                       del_timer(&adapter->wakeup_timer);
                        if (adapter->ps_state == PS_STATE_SLEEP)
                                adapter->ps_state = PS_STATE_AWAKE;
                } else {
index 64c4223..0dc7a1d 100644 (file)
@@ -312,7 +312,7 @@ int mwifiex_process_sta_event(struct mwifiex_private *priv)
                                        adapter->ps_state = PS_STATE_AWAKE;
                                        adapter->pm_wakeup_card_req = false;
                                        adapter->pm_wakeup_fw_try = false;
-                                       del_timer_sync(&adapter->wakeup_timer);
+                                       del_timer(&adapter->wakeup_timer);
                                        break;
                                }
                                if (!mwifiex_send_null_packet
@@ -327,7 +327,7 @@ int mwifiex_process_sta_event(struct mwifiex_private *priv)
                adapter->ps_state = PS_STATE_AWAKE;
                adapter->pm_wakeup_card_req = false;
                adapter->pm_wakeup_fw_try = false;
-               del_timer_sync(&adapter->wakeup_timer);
+               del_timer(&adapter->wakeup_timer);
 
                break;
 
index 2238730..8beb38c 100644 (file)
@@ -1006,7 +1006,7 @@ static int mwifiex_pm_wakeup_card(struct mwifiex_adapter *adapter)
 {
        /* Simulation of HS_AWAKE event */
        adapter->pm_wakeup_fw_try = false;
-       del_timer_sync(&adapter->wakeup_timer);
+       del_timer(&adapter->wakeup_timer);
        adapter->pm_wakeup_card_req = false;
        adapter->ps_state = PS_STATE_AWAKE;