diff options
| -rw-r--r-- | core/hdd/src/wlan_hdd_assoc.c | 9 | ||||
| -rw-r--r-- | core/hdd/src/wlan_hdd_cfg80211.c | 1 |
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++) { |
