summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/hdd/src/wlan_hdd_assoc.c9
-rw-r--r--core/hdd/src/wlan_hdd_cfg80211.c1
2 files changed, 7 insertions, 3 deletions
diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c
index 9c64dd789caa..8a13abef978e 100644
--- a/core/hdd/src/wlan_hdd_assoc.c
+++ b/core/hdd/src/wlan_hdd_assoc.c
@@ -2358,9 +2358,12 @@ static QDF_STATUS hdd_association_completion_handler(hdd_adapter_t *pAdapter,
/* HDD has initiated disconnect, do not send connect result indication
* to kernel as it will be handled by __cfg80211_disconnect.
*/
- if ((eConnectionState_Disconnecting == pHddStaCtx->conn_info.connState)
- && ((eCSR_ROAM_RESULT_ASSOCIATED == roamResult)
- || (eCSR_ROAM_ASSOCIATION_FAILURE == roamStatus))) {
+ if (((eConnectionState_Disconnecting ==
+ pHddStaCtx->conn_info.connState) ||
+ (eConnectionState_NotConnected ==
+ pHddStaCtx->conn_info.connState)) &&
+ ((eCSR_ROAM_RESULT_ASSOCIATED == roamResult) ||
+ (eCSR_ROAM_ASSOCIATION_FAILURE == roamStatus))) {
hddLog(LOG1, FL("Disconnect from HDD in progress"));
hddDisconInProgress = true;
}
diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c
index 1cab00440305..bbbb9e9af44a 100644
--- a/core/hdd/src/wlan_hdd_cfg80211.c
+++ b/core/hdd/src/wlan_hdd_cfg80211.c
@@ -11715,6 +11715,7 @@ static int __wlan_hdd_cfg80211_disconnect(struct wiphy *wiphy,
hdd_abort_mac_scan(pHddCtx, pAdapter->sessionId,
eCSR_SCAN_ABORT_DEFAULT);
}
+ wlan_hdd_cleanup_remain_on_channel_ctx(pAdapter);
#ifdef FEATURE_WLAN_TDLS
/* First clean up the tdls peers if any */
for (staIdx = 0; staIdx < pHddCtx->max_num_tdls_sta; staIdx++) {