Commit 8a40084e authored by Maithili Hinge's avatar Maithili Hinge Committed by Kalle Valo
Browse files

mwifiex: Add support for wowlan disconnect



This patch adds support for wowlan disconnect.

Signed-off-by: default avatarMaithili Hinge <maithili@marvell.com>
Signed-off-by: default avatarAvinash Patil <patila@marvell.com>
Signed-off-by: default avatarAmitkumar Karwar <akarwar@marvell.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 468133c5
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -2527,6 +2527,7 @@ static int mwifiex_cfg80211_suspend(struct wiphy *wiphy,
				    struct cfg80211_wowlan *wowlan)
{
	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);
@@ -2550,6 +2551,20 @@ static int mwifiex_cfg80211_suspend(struct wiphy *wiphy,
		}
	}

	if (wowlan->disconnect) {
		memset(&hs_cfg, 0, sizeof(hs_cfg));
		hs_cfg.is_invoke_hostcmd = false;
		hs_cfg.conditions = HS_CFG_COND_MAC_EVENT;
		hs_cfg.gpio = HS_CFG_GPIO_DEF;
		hs_cfg.gap = HS_CFG_GAP_DEF;
		ret = mwifiex_set_hs_params(priv, HostCmd_ACT_GEN_SET,
					    MWIFIEX_SYNC_CMD, &hs_cfg);
		if (ret) {
			dev_err(adapter->dev, "Failed to set HS params\n");
			return ret;
		}
	}

	return ret;
}

@@ -2890,7 +2905,7 @@ static struct cfg80211_ops mwifiex_cfg80211_ops = {

#ifdef CONFIG_PM
static const struct wiphy_wowlan_support mwifiex_wowlan_support = {
	.flags = WIPHY_WOWLAN_MAGIC_PKT,
	.flags = WIPHY_WOWLAN_MAGIC_PKT | WIPHY_WOWLAN_DISCONNECT,
	.n_patterns = MWIFIEX_MEF_MAX_FILTERS,
	.pattern_min_len = 1,
	.pattern_max_len = MWIFIEX_MAX_PATTERN_LEN,