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

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
...@@ -2527,6 +2527,7 @@ static int mwifiex_cfg80211_suspend(struct wiphy *wiphy, ...@@ -2527,6 +2527,7 @@ static int mwifiex_cfg80211_suspend(struct wiphy *wiphy,
struct cfg80211_wowlan *wowlan) struct cfg80211_wowlan *wowlan)
{ {
struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy); struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy);
struct mwifiex_ds_hs_cfg hs_cfg;
int ret = 0; int ret = 0;
struct mwifiex_private *priv = struct mwifiex_private *priv =
mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA); mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA);
...@@ -2550,6 +2551,20 @@ static int mwifiex_cfg80211_suspend(struct wiphy *wiphy, ...@@ -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; return ret;
} }
...@@ -2890,7 +2905,7 @@ static struct cfg80211_ops mwifiex_cfg80211_ops = { ...@@ -2890,7 +2905,7 @@ static struct cfg80211_ops mwifiex_cfg80211_ops = {
#ifdef CONFIG_PM #ifdef CONFIG_PM
static const struct wiphy_wowlan_support mwifiex_wowlan_support = { 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, .n_patterns = MWIFIEX_MEF_MAX_FILTERS,
.pattern_min_len = 1, .pattern_min_len = 1,
.pattern_max_len = MWIFIEX_MAX_PATTERN_LEN, .pattern_max_len = MWIFIEX_MAX_PATTERN_LEN,
......
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