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
This commit is contained in:
parent
0e7cf24c43
commit
8392fb49c6
@ -222,12 +222,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) {
|
||||
hdd_info("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);
|
||||
}
|
||||
schedule_work(&pAdapter->ipv6NotifierWorkQueue);
|
||||
}
|
||||
EXIT();
|
||||
@ -756,12 +753,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_info("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_notice("Offload not enabled ARPOffload=%d",
|
||||
|
Loading…
Reference in New Issue
Block a user