mwifiex: fix system hang problem after resume
authorAmitkumar Karwar <akarwar@marvell.com>
Thu, 16 Jun 2016 13:22:24 +0000 (18:52 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 29 Jun 2016 15:54:01 +0000 (18:54 +0300)
On some platforms, driver is unable to wakeup firmware after system resume
due to a problem at MMC subsystem. Triggering card reset in this case has
a race with card removal from MMC which causes system hang. This patch
resolves the problem by not triggering card reset.

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

index a6d86d4ccd224b87757e646bf8354488dd7e1919..07eac5b195f0c37e26218b0cc4f32cc5c6bdf909 100644 (file)
@@ -60,7 +60,7 @@ static void wakeup_timer_fn(unsigned long data)
        adapter->hw_status = MWIFIEX_HW_STATUS_RESET;
        mwifiex_cancel_all_pending_cmd(adapter);
 
-       if (adapter->if_ops.card_reset)
+       if (adapter->if_ops.card_reset && !adapter->hs_activated)
                adapter->if_ops.card_reset(adapter);
 }