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
Цей коміт міститься в:
Vinod Kumar Pirla
2022-12-13 08:07:46 -08:00
зафіксовано Madan Koyyalamudi
джерело 0d7f210db8
коміт 4e553935a4

Переглянути файл

@@ -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);
}