summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPadma, Santhosh Kumar <skpadma@codeaurora.org>2017-03-17 12:35:27 +0530
committerSandeep Puligilla <spuligil@codeaurora.org>2017-03-20 19:46:45 -0700
commit337506e58724b5ef92f422a08b5a1264819a4efa (patch)
tree70334fcdbb05fe56dd4d2184873042c767d439df
parent9e693572602d70afba85def1ac61cc16cb0174fa (diff)
qcacld-3.0: Invoke sme_dhcp_done_ind in all states
Currently driver drops RRM request before completion of DHCP. Driver uses global variable dhcp_done to check completion of DHCP. In static IP case, there is a chance that sme_dhcp_done_ind be invoked before connection. Hence there is a chance that global variable dhcp_done may not be set. This can cause driver to drop RRM requests forever in static IP scenarios. Invoke sme_dhcp_done_ind in all states to allow processing of RRM requests in static IP scenarios as well. Change-Id: I20e07eea7a66e7f3336dd783b9533ff642721209 CRs-Fixed: 2021041
-rw-r--r--core/hdd/src/wlan_hdd_power.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/core/hdd/src/wlan_hdd_power.c b/core/hdd/src/wlan_hdd_power.c
index 5e3ecb28381b..9362d5588088 100644
--- a/core/hdd/src/wlan_hdd_power.c
+++ b/core/hdd/src/wlan_hdd_power.c
@@ -254,11 +254,9 @@ static int __wlan_hdd_ipv6_changed(struct notifier_block *nb,
if (0 != status)
return NOTIFY_DONE;
sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter);
- if (eConnectionState_Associated ==
- sta_ctx->conn_info.connState) {
- sme_dhcp_done_ind(pHddCtx->hHal,
+ hdd_debug("invoking sme_dhcp_done_ind");
+ sme_dhcp_done_ind(pHddCtx->hHal,
pAdapter->sessionId);
- }
schedule_work(&pAdapter->ipv6NotifierWorkQueue);
}
EXIT();
@@ -911,12 +909,9 @@ static int __wlan_hdd_ipv4_changed(struct notifier_block *nb,
return NOTIFY_DONE;
sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter);
- if (eConnectionState_Associated ==
- sta_ctx->conn_info.connState) {
- hdd_debug("invoking sme_dhcp_done_ind");
- sme_dhcp_done_ind(pHddCtx->hHal,
+ hdd_debug("invoking sme_dhcp_done_ind");
+ sme_dhcp_done_ind(pHddCtx->hHal,
pAdapter->sessionId);
- }
if (!pHddCtx->config->fhostArpOffload) {
hdd_debug("Offload not enabled ARPOffload=%d",