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:
Tushnim Bhattacharyya
2017-11-27 18:33:50 -08:00
committed by snandini
orang tua 71f2da2156
melakukan 18b0eaab4f

Melihat File

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