diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index 6c40e37f774d..b82d3c824ccd 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -20605,8 +20605,6 @@ int __wlan_hdd_cfg80211_del_station(struct wiphy *wiphy, if (!QDF_IS_STATUS_SUCCESS(qdf_status)) hdd_warn("Deauth wait time expired"); - adapter->cache_sta_info[staId].reason_code = - pDelStaParams->reason_code; } } diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 05f26db2c31e..510e1b8553c1 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -10969,26 +10969,12 @@ QDF_STATUS hdd_softap_sta_deauth(struct hdd_adapter *adapter, void hdd_softap_sta_disassoc(struct hdd_adapter *adapter, struct csr_del_sta_params *pDelStaParams) { - struct sir_peer_sta_info peer_sta_info; - struct hdd_station_info *stainfo; - hdd_enter(); /* Ignore request to disassoc bcmc station */ if (pDelStaParams->peerMacAddr.bytes[0] & 0x1) return; - wlan_hdd_get_peer_rssi(adapter, &pDelStaParams->peerMacAddr, - &peer_sta_info); - stainfo = hdd_get_stainfo(adapter->cache_sta_info, - pDelStaParams->peerMacAddr); - if (stainfo) { - stainfo->rssi = peer_sta_info.info[0].rssi; - stainfo->tx_rate = peer_sta_info.info[0].tx_rate; - stainfo->rx_rate = peer_sta_info.info[0].rx_rate; - stainfo->reason_code = pDelStaParams->reason_code; - } - wlansap_disassoc_sta(WLAN_HDD_GET_SAP_CTX_PTR(adapter), pDelStaParams); } diff --git a/core/sap/src/sap_fsm.c b/core/sap/src/sap_fsm.c index 3e69138880c4..0a99d32140a4 100644 --- a/core/sap/src/sap_fsm.c +++ b/core/sap/src/sap_fsm.c @@ -1652,7 +1652,7 @@ QDF_STATUS sap_signal_hdd_event(struct sap_context *sap_ctx, qdf_copy_macaddr(&disassoc_comp->staMac, &csr_roaminfo->peerMac); disassoc_comp->staId = csr_roaminfo->staId; - if (csr_roaminfo->disassoc_reason == eCSR_ROAM_RESULT_FORCED) + if (csr_roaminfo->reasonCode == eCSR_ROAM_RESULT_FORCED) disassoc_comp->reason = eSAP_USR_INITATED_DISASSOC; else disassoc_comp->reason = eSAP_MAC_INITATED_DISASSOC; @@ -1662,7 +1662,7 @@ QDF_STATUS sap_signal_hdd_event(struct sap_context *sap_ctx, disassoc_comp->rssi = csr_roaminfo->rssi; disassoc_comp->rx_rate = csr_roaminfo->rx_rate; disassoc_comp->tx_rate = csr_roaminfo->tx_rate; - disassoc_comp->reason_code = csr_roaminfo->reasonCode; + disassoc_comp->reason_code = csr_roaminfo->disassoc_reason; break; case eSAP_STA_SET_KEY_EVENT: diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 78599acf5c0d..9e0198008803 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -7192,8 +7192,9 @@ static void csr_roam_process_results_default(tpAniSirGlobal mac_ctx, qdf_mem_copy(roam_info.peerMac.bytes, cmd->u.roamCmd.peerMac, sizeof(tSirMacAddr)); - roam_info.reasonCode = cmd->u.roamCmd.reason; - roam_info.disassoc_reason = eCSR_ROAM_RESULT_FORCED; + roam_info.reasonCode = eCSR_ROAM_RESULT_FORCED; + /* Update the MAC reason code */ + roam_info.disassoc_reason = cmd->u.roamCmd.reason; roam_info.statusCode = eSIR_SME_SUCCESS; status = csr_roam_call_callback(mac_ctx, session_id, &roam_info, cmd->u.roamCmd.roamId, @@ -11756,6 +11757,7 @@ csr_roam_send_disconnect_done_indication(tpAniSirGlobal mac_ctx, tSirSmeRsp roam_info.rssi = mac_ctx->peer_rssi; roam_info.tx_rate = mac_ctx->peer_txrate; roam_info.rx_rate = mac_ctx->peer_rxrate; + roam_info.disassoc_reason = discon_ind->reason_code; csr_roam_call_callback(mac_ctx, discon_ind->session_id, &roam_info, 0, eCSR_ROAM_LOSTLINK,