aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorAmitkumar Karwar <akarwar@marvell.com>2012-06-20 22:58:37 -0400
committerJohn W. Linville <linville@tuxdriver.com>2012-06-22 14:44:04 -0400
commita4186ea6ec6c903e29294141d4861e8327fd113c (patch)
treea56ba4e1e54353b8276c9a015a27eec1fffb1930 /drivers/net
parentf931c7705bb3e21edd345a0fa748462fd3df4122 (diff)
mwifiex: enhance power save for USB and PCIe chipsets
FW will not explicitly notify about host sleep activation to the host for USB and PCIe chipsets. Hence host should generate Host Sleep Activated event as soon as Host Sleep parameters are configured to FW successfully. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/mwifiex/cmdevt.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/wireless/mwifiex/cmdevt.c b/drivers/net/wireless/mwifiex/cmdevt.c
index 51e023ec1de4..ea37b887a874 100644
--- a/drivers/net/wireless/mwifiex/cmdevt.c
+++ b/drivers/net/wireless/mwifiex/cmdevt.c
@@ -1102,7 +1102,8 @@ int mwifiex_ret_802_11_hs_cfg(struct mwifiex_private *priv,
1102 &resp->params.opt_hs_cfg; 1102 &resp->params.opt_hs_cfg;
1103 uint32_t conditions = le32_to_cpu(phs_cfg->params.hs_config.conditions); 1103 uint32_t conditions = le32_to_cpu(phs_cfg->params.hs_config.conditions);
1104 1104
1105 if (phs_cfg->action == cpu_to_le16(HS_ACTIVATE)) { 1105 if (phs_cfg->action == cpu_to_le16(HS_ACTIVATE) &&
1106 adapter->iface_type == MWIFIEX_SDIO) {
1106 mwifiex_hs_activated_event(priv, true); 1107 mwifiex_hs_activated_event(priv, true);
1107 return 0; 1108 return 0;
1108 } else { 1109 } else {
@@ -1114,6 +1115,9 @@ int mwifiex_ret_802_11_hs_cfg(struct mwifiex_private *priv,
1114 } 1115 }
1115 if (conditions != HOST_SLEEP_CFG_CANCEL) { 1116 if (conditions != HOST_SLEEP_CFG_CANCEL) {
1116 adapter->is_hs_configured = true; 1117 adapter->is_hs_configured = true;
1118 if (adapter->iface_type == MWIFIEX_USB ||
1119 adapter->iface_type == MWIFIEX_PCIE)
1120 mwifiex_hs_activated_event(priv, true);
1117 } else { 1121 } else {
1118 adapter->is_hs_configured = false; 1122 adapter->is_hs_configured = false;
1119 if (adapter->hs_activated) 1123 if (adapter->hs_activated)