From: Amitkumar Karwar Date: Thu, 16 Jun 2016 13:22:24 +0000 (+0530) Subject: mwifiex: fix system hang problem after resume X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=437322ea2a36d112e20aa7282c869bf924b3a836;p=linux-beck.git mwifiex: fix system hang problem after resume 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 Signed-off-by: Kalle Valo --- diff --git a/drivers/net/wireless/marvell/mwifiex/init.c b/drivers/net/wireless/marvell/mwifiex/init.c index a6d86d4ccd22..07eac5b195f0 100644 --- a/drivers/net/wireless/marvell/mwifiex/init.c +++ b/drivers/net/wireless/marvell/mwifiex/init.c @@ -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); }