summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXun Luo <xunl@qca.qualcomm.com>2014-05-16 16:57:28 -0700
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-05-22 17:30:35 -0700
commit846cb3458b9718dbb2059d1d8a52180215df29cd (patch)
treed082d40259b380cbb1bb962ef4a50c7fd11c5273
parent8b5dbe7be25c426c7feeb529571583ce7b735e2f (diff)
use power save mode as DHCP start/stop indication instead of BTCOEXMODE
Current Android framework always sends power save mode to false when starting DHCP and vice versa when DHCP session ends. Replaced driver usage of BTCOEXMODE as the DHCP start/stop indication to power save mode setting. Change-Id: I1e25c8cc8ec6f639ad97a00183a41389bc31e43e CRs-Fixed: 658130
-rw-r--r--CORE/HDD/src/wlan_hdd_cfg80211.c15
-rw-r--r--CORE/HDD/src/wlan_hdd_main.c16
2 files changed, 21 insertions, 10 deletions
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index b589d932a5bc..1fa07e0b1d3a 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -8404,6 +8404,21 @@ static int wlan_hdd_cfg80211_set_power_mgmt(struct wiphy *wiphy,
else
vos_status = wlan_hdd_set_powersave(pAdapter, !mode);
+ if (!mode)
+ {
+ VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_DEBUG,
+ "%s: DHCP start indicated through power save", __func__);
+ sme_DHCPStartInd(pHddCtx->hHal, pAdapter->device_mode,
+ pAdapter->macAddressCurrent.bytes, pAdapter->sessionId);
+ }
+ else
+ {
+ VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_DEBUG,
+ "%s: DHCP stop indicated through power save", __func__);
+ sme_DHCPStopInd(pHddCtx->hHal, pAdapter->device_mode,
+ pAdapter->macAddressCurrent.bytes, pAdapter->sessionId);
+ }
+
EXIT();
if (VOS_STATUS_E_FAILURE == vos_status)
{
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index fda3f03aa827..6e928945c530 100644
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -4828,23 +4828,19 @@ static int hdd_driver_command(hdd_adapter_t *pAdapter,
#endif
else if (strncmp(command, "BTCOEXMODE", 10) == 0 )
{
- char *dhcpPhase;
- dhcpPhase = command + 11;
- if ('1' == *dhcpPhase)
+ char *bcMode;
+ bcMode = command + 11;
+ if ('1' == *bcMode)
{
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_DEBUG,
- FL("BTCOEXMODE %d"), *dhcpPhase);
+ FL("BTCOEXMODE %d"), *bcMode);
pHddCtx->btCoexModeSet = TRUE;
- sme_DHCPStartInd(pHddCtx->hHal, pAdapter->device_mode,
- pAdapter->macAddressCurrent.bytes, pAdapter->sessionId);
}
- else if ('2' == *dhcpPhase)
+ else if ('2' == *bcMode)
{
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_DEBUG,
- FL("BTCOEXMODE %d"), *dhcpPhase);
+ FL("BTCOEXMODE %d"), *bcMode);
pHddCtx->btCoexModeSet = FALSE;
- sme_DHCPStopInd(pHddCtx->hHal, pAdapter->device_mode,
- pAdapter->macAddressCurrent.bytes, pAdapter->sessionId);
}
}
else if (strncmp(command, "SCAN-ACTIVE", 11) == 0)