From f9262912843696f3bd6644e497f16aafdaa52ae5 Mon Sep 17 00:00:00 2001 From: Abhinav Kumar Date: Fri, 24 Aug 2018 18:59:24 +0530 Subject: qcacld-3.0: Update secondary channel params for SAP after SSR In case of recovery of SAP after SSR, driver is not updating params for secondary channel as per primary channel (Operation channel) for SAP. Update parameters for secondary channel as per primary channel before SAP start. Change-Id: I2da2eff62881fe4e65208be778618d0b9c05bf88 CRs-Fixed: 2292645 --- core/hdd/src/wlan_hdd_hostapd.c | 9 +++++++-- core/hdd/src/wlan_hdd_main.c | 3 +++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/core/hdd/src/wlan_hdd_hostapd.c b/core/hdd/src/wlan_hdd_hostapd.c index 849bd5be2d97..b8d2ff72750a 100644 --- a/core/hdd/src/wlan_hdd_hostapd.c +++ b/core/hdd/src/wlan_hdd_hostapd.c @@ -1657,6 +1657,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(tpSap_Event pSapEvent, hdd_station_info_t *stainfo; cds_context_type *cds_ctx; hdd_adapter_t *sta_adapter; + tsap_Config_t *sap_config; dev = (struct net_device *)usrDataForCallback; if (!dev) { @@ -1705,6 +1706,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(tpSap_Event pSapEvent, dfs_info.channel = pHddApCtx->operatingChannel; sme_get_country_code(pHddCtx->hHal, dfs_info.country_code, &cc_len); + sap_config = &pHostapdAdapter->sessionCtx.ap.sapConfig; switch (sapEvent) { case eSAP_START_BSS_EVENT: @@ -1718,13 +1720,16 @@ QDF_STATUS hdd_hostapd_sap_event_cb(tpSap_Event pSapEvent, pHostapdAdapter->sessionId = pSapEvent->sapevt.sapStartBssCompleteEvent.sessionId; - pHostapdAdapter->sessionCtx.ap.sapConfig.channel = + sap_config->channel = pSapEvent->sapevt.sapStartBssCompleteEvent. operatingChannel; - pHostapdAdapter->sessionCtx.ap.sapConfig.ch_params.ch_width = + sap_config->ch_params.ch_width = pSapEvent->sapevt.sapStartBssCompleteEvent.ch_width; + cds_set_channel_params(sap_config->channel, 0, + &sap_config->ch_params); + pHostapdState->qdf_status = pSapEvent->sapevt.sapStartBssCompleteEvent.status; diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 9791b741fa58..46269a9f4f73 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -12109,6 +12109,9 @@ void wlan_hdd_start_sap(hdd_adapter_t *ap_adapter, bool reinit) goto end; } + cds_set_channel_params(hdd_ap_ctx->sapConfig.channel, 0, + &hdd_ap_ctx->sapConfig.ch_params); + qdf_event_reset(&hostapd_state->qdf_event); if (wlansap_start_bss(hdd_ap_ctx->sapContext, hdd_hostapd_sap_event_cb, &hdd_ap_ctx->sapConfig, -- cgit v1.2.3