diff options
| author | Xun Luo <xunl@qca.qualcomm.com> | 2014-05-16 16:57:28 -0700 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-05-22 17:30:35 -0700 |
| commit | 846cb3458b9718dbb2059d1d8a52180215df29cd (patch) | |
| tree | d082d40259b380cbb1bb962ef4a50c7fd11c5273 | |
| parent | 8b5dbe7be25c426c7feeb529571583ce7b735e2f (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.c | 15 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_main.c | 16 |
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) |
