diff options
| author | Padma, Santhosh Kumar <skpadma@codeaurora.org> | 2017-03-17 12:35:27 +0530 |
|---|---|---|
| committer | Sandeep Puligilla <spuligil@codeaurora.org> | 2017-03-20 19:46:45 -0700 |
| commit | 337506e58724b5ef92f422a08b5a1264819a4efa (patch) | |
| tree | 70334fcdbb05fe56dd4d2184873042c767d439df | |
| parent | 9e693572602d70afba85def1ac61cc16cb0174fa (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.c | 13 |
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", |
