diff options
author | Amitkumar Karwar <akarwar@marvell.com> | 2014-12-31 02:36:41 -0800 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2015-01-06 21:19:44 +0200 |
commit | 4636187da60b6e33526050235c610409d9cc00e8 (patch) | |
tree | e1bd810c8f421db9e787b2399f0288412bd92f6b /drivers/net/wireless/mwifiex/sta_event.c | |
parent | b4f1b177be27103cd84a3692ae71bf857700e27f (diff) | |
download | linux-4636187da60b6e33526050235c610409d9cc00e8.tar.bz2 |
mwifiex: add wakeup timer based recovery mechanism
If host fails to wakeup the firmware, we will trigger card reset
after 3 second timeout.
Signed-off-by: Cathy Luo <cluo@marvell.com>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/mwifiex/sta_event.c')
-rw-r--r-- | drivers/net/wireless/mwifiex/sta_event.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/mwifiex/sta_event.c b/drivers/net/wireless/mwifiex/sta_event.c index fbec95bbc10f..419e35f1dbf3 100644 --- a/drivers/net/wireless/mwifiex/sta_event.c +++ b/drivers/net/wireless/mwifiex/sta_event.c @@ -312,6 +312,8 @@ 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; + mod_timer(&adapter->wakeup_timer, + jiffies + (HZ*3)); break; } if (!mwifiex_send_null_packet @@ -326,6 +328,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); break; |