qcacld-3.0: Fix sap reinit after SSR
The reinit logic for SAP shouldn't initialize all the data structures related to ACS to 0 after SSR. Change-Id: Id637968b3e0edc0f3698836802012f5921c5c79e CRs-Fixed: 2150314
This commit is contained in:

committed by
snandini

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