mwifiex: stop command path in suspend handler
authorAvinash Patil <patila@marvell.com>
Mon, 23 Mar 2015 14:20:55 +0000 (19:50 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 30 Mar 2015 08:34:49 +0000 (11:34 +0300)
Cancel all pending commands including scan commands and stop CAC
during cfg80211 suspend handler.

Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/mwifiex/cfg80211.c

index fc3bbe77eb18b76bb23231d6a69425bcd880b92b..eab110b1f97b1d6ed809724fd6003166bbcb555e 100644 (file)
@@ -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");