|
@@ -2942,15 +2942,23 @@ static int mwifiex_cfg80211_suspend(struct wiphy *wiphy,
|
|
|
{
|
|
|
struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy);
|
|
|
struct mwifiex_ds_hs_cfg hs_cfg;
|
|
|
- int ret = 0;
|
|
|
- struct mwifiex_private *priv =
|
|
|
- mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA);
|
|
|
+ int i, ret = 0;
|
|
|
+ struct mwifiex_private *priv;
|
|
|
+
|
|
|
+ for (i = 0; i < adapter->priv_num; i++) {
|
|
|
+ priv = adapter->priv[i];
|
|
|
+ mwifiex_abort_cac(priv);
|
|
|
+ }
|
|
|
+
|
|
|
+ mwifiex_cancel_all_pending_cmd(adapter);
|
|
|
|
|
|
if (!wowlan) {
|
|
|
dev_warn(adapter->dev, "None of the WOWLAN triggers enabled\n");
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+ priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA);
|
|
|
+
|
|
|
if (!priv->media_connected) {
|
|
|
dev_warn(adapter->dev,
|
|
|
"Can not configure WOWLAN in disconnected state\n");
|