Merge "qcacld-3.0: Fix sap reinit after SSR" into wlan-cld3.driver.lnx.2.0

This commit is contained in:
CNSS_WLAN Service 2017-12-01 17:05:04 -08:00 • committed by Gerrit - the friendly Code Review server
commit dc954dd78e

View file

@ -8141,6 +8141,7 @@ int hdd_start_station_adapter(struct hdd_adapter *adapter)
int hdd_start_ap_adapter(struct hdd_adapter *adapter)
{
QDF_STATUS status;
bool is_ssr = false;
int ret;
ENTER();
@ -8151,12 +8152,14 @@ int hdd_start_ap_adapter(struct hdd_adapter *adapter)
return qdf_status_to_os_return(QDF_STATUS_SUCCESS);
}
/*
* create sap context first and then create vdev as
* while creating the vdev, driver needs to register
* SAP callback and that callback uses sap context
* In SSR case no need to create new sap context.
* Otherwise create sap context first and then create
* vdev as while creating the vdev, driver needs to
* register SAP callback and that callback uses sap context
*/
if (!adapter->session.ap.sap_context &&
!hdd_sap_create_ctx(adapter)) {
if (adapter->session.ap.sap_context) {
is_ssr = true;
} else if (!hdd_sap_create_ctx(adapter)) {
hdd_err("sap creation failed");
return qdf_status_to_os_return(QDF_STATUS_E_FAILURE);
}
@ -8168,7 +8171,7 @@ int hdd_start_ap_adapter(struct hdd_adapter *adapter)
hdd_sap_destroy_ctx(adapter);
return ret;
}
status = hdd_init_ap_mode(adapter, false);
status = hdd_init_ap_mode(adapter, is_ssr);
if (QDF_STATUS_SUCCESS != status) {
hdd_err("Error Initializing the AP mode: %d", status);