Commit 06a2f021 authored by Prameela Rani Garnepudi's avatar Prameela Rani Garnepudi Committed by Kleber Sacilotto de Souza

UBUNTU: SAUCE: Redpine: resolve race while resuming from S4

BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1753438
BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1753439

At SDIO restore ieee80211_restart_hw() is getting called to
restart all MAC operations. This step is not required.
eturning 1 from mac80211_resume() will serve this purpose.
Above method adding up some races in calling functions because
of timing issues.
Signed-off-by: default avatarPrameela Rani Garnepudi <prameela.garnepudi@redpinesignals.com>
Signed-off-by: default avatarAmitkumar Karwar <amit.karwar@redpinesignals.com>
Acked-by: default avatarStefan Bader <stefan.bader@canonical.com>
Acked-by: default avatarShrirang Bagul <shrirang.bagul@canonical.com>
Signed-off-by: default avatarStefan Bader <stefan.bader@canonical.com>
parent 8fcba801
......@@ -2463,7 +2463,10 @@ static int rsi_mac80211_resume(struct ieee80211_hw *hw)
if (common->hibernate_resume) {
if (common->reinit_hw)
wait_for_completion(&common->wlan_init_completion);
return 0;
/* Device need a complete restart of all MAC operations.
* returning 1 will serve this purpose.
*/
return 1;
}
#ifdef CONFIG_VEN_RSI_WOW
......
......@@ -1506,10 +1506,8 @@ int rsi_restore(struct device *dev)
adapter->priv->iface_down = true;
adapter->sc_nvifs = 0;
rsi_mac80211_hw_scan_cancel(adapter->hw, adapter->priv->scan_vif);
flush_workqueue(adapter->priv->scan_workqueue);
ieee80211_stop_queues(adapter->hw);
ieee80211_restart_hw(adapter->hw);
/* Initialize device again */
adapter->priv->reinit_hw = true;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment