diff options
author | Siva Rebbagondla <siva.rebbagondla@redpinesignals.com> | 2019-02-04 12:03:27 +0530 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2019-02-08 17:29:39 +0200 |
commit | a63762d0dc3655e8a5c31c89769eb60be4115e17 (patch) | |
tree | f9c5ef27a0ace606248d16184100f3a63c5f81fc /drivers | |
parent | cbde979b33fa16e06dadc2c81093699a2bc787db (diff) | |
download | linux-a63762d0dc3655e8a5c31c89769eb60be4115e17.tar.bz2 |
rsi: fix wowlan wakeup issue for hibernate(S4)
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/rsi/rsi_91x_mac80211.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/rsi/rsi_91x_sdio.c | 1 |
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/wireless/rsi/rsi_91x_mac80211.c b/drivers/net/wireless/rsi/rsi_91x_mac80211.c index aded1ae4fad5..8d1282f524cf 100644 --- a/drivers/net/wireless/rsi/rsi_91x_mac80211.c +++ b/drivers/net/wireless/rsi/rsi_91x_mac80211.c @@ -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); diff --git a/drivers/net/wireless/rsi/rsi_91x_sdio.c b/drivers/net/wireless/rsi/rsi_91x_sdio.c index 9a3bb0da3202..449803cca73f 100644 --- a/drivers/net/wireless/rsi/rsi_91x_sdio.c +++ b/drivers/net/wireless/rsi/rsi_91x_sdio.c @@ -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; |