qcacld-3.0: Reinit MLO configuration on SAP restart

On dynamic NSS update sent to FW, SAP is restarted
after disconnecting all connected clients. In the
restart procedure, MLO configuration is not updated.
Any new client connection is rejected by hostapd
with invalid link id reason.

In hdd_restart_sap() API restore the MLO configuration
to restart SAP in ML.

Change-Id: Ife8acf99b0bfa1a5415ea79dd3e522ef6377cad1
CRs-Fixed: 3352712
This commit is contained in:
Vinod Kumar Pirla
2022-12-13 08:07:46 -08:00
committed by Madan Koyyalamudi
parent 0d7f210db8
commit 4e553935a4

View File

@@ -19116,31 +19116,34 @@ void hdd_restart_sap(struct hdd_adapter *ap_adapter)
if (0 != wlan_hdd_cfg80211_update_apies(ap_adapter)) {
hdd_err("SAP Not able to set AP IEs");
wlansap_reset_sap_config_add_ie(sap_config,
eUPDATE_IE_ALL);
goto end;
}
qdf_status = wlan_hdd_mlo_sap_reinit(hdd_ctx, sap_config,
ap_adapter);
if (QDF_IS_STATUS_ERROR(qdf_status)) {
hdd_err("SAP Not able to do mlo attach");
goto deinit_mlo;
}
qdf_event_reset(&hostapd_state->qdf_event);
if (wlansap_start_bss(sap_ctx, hdd_hostapd_sap_event_cb,
sap_config,
ap_adapter->dev) != QDF_STATUS_SUCCESS) {
hdd_err("SAP Start Bss fail");
wlansap_reset_sap_config_add_ie(sap_config,
eUPDATE_IE_ALL);
goto end;
goto deinit_mlo;
}
hdd_info("Waiting for SAP to start");
qdf_status =
qdf_wait_single_event(&hostapd_state->qdf_event,
SME_CMD_START_BSS_TIMEOUT);
wlansap_reset_sap_config_add_ie(sap_config,
eUPDATE_IE_ALL);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
hdd_err("SAP Start failed");
goto end;
goto deinit_mlo;
}
wlansap_reset_sap_config_add_ie(sap_config,
eUPDATE_IE_ALL);
hdd_err("SAP Start Success");
set_bit(SOFTAP_BSS_STARTED, &ap_adapter->event_flags);
if (hostapd_state->bss_state == BSS_START) {
@@ -19152,7 +19155,13 @@ void hdd_restart_sap(struct hdd_adapter *ap_adapter)
true);
}
}
mutex_unlock(&hdd_ctx->sap_lock);
return;
deinit_mlo:
wlan_hdd_mlo_reset(ap_adapter);
end:
wlansap_reset_sap_config_add_ie(sap_config, eUPDATE_IE_ALL);
mutex_unlock(&hdd_ctx->sap_lock);
}