rsi: fix wowlan wakeup issue for hibernate(S4)
authorSiva Rebbagondla <siva.rebbagondla@redpinesignals.com>
Mon, 4 Feb 2019 06:33:27 +0000 (12:03 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 8 Feb 2019 15:29:39 +0000 (17:29 +0200)
At SDIO restore ieee80211_restart_hw() is getting called to restart all
MAC operations. This step is not required.
Returning 1 from mac80211_resume() will serve this purpose.

Signed-off-by: Siva Rebbagondla <siva.rebbagondla@redpinesignals.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/rsi/rsi_91x_mac80211.c
drivers/net/wireless/rsi/rsi_91x_sdio.c

index aded1ae..8d1282f 100644 (file)
@@ -1938,8 +1938,12 @@ static int rsi_mac80211_resume(struct ieee80211_hw *hw)
 
        rsi_dbg(INFO_ZONE, "%s: mac80211 resume\n", __func__);
 
-       if (common->hibernate_resume)
-               return 0;
+       if (common->hibernate_resume) {
+               /* Device need a complete restart of all MAC operations.
+                * returning 1 will serve this purpose.
+                */
+               return 1;
+       }
 
        mutex_lock(&common->mutex);
        rsi_send_wowlan_request(common, 0, 0);
index 9a3bb0d..449803c 100644 (file)
@@ -1396,7 +1396,6 @@ static int rsi_restore(struct device *dev)
        common->iface_down = true;
 
        adapter->sc_nvifs = 0;
-       ieee80211_restart_hw(adapter->hw);
 
        common->wow_flags = 0;
        common->iface_down = false;