From 3208c162ba145c55eabcbd4814bc8691e193ddb7 Mon Sep 17 00:00:00 2001 From: Nachiket Kukade Date: Tue, 29 Aug 2017 17:40:59 +0530 Subject: [PATCH] qcacld-3.0: Pass appropriate channel list in vendor ACS event If vendor acs support is enabled, driver sends a list of channels through a vendor event when it receives do_acs. Currently it sends list of all valid channels even if hostapd or INI has specified specific channels which is not expected. If available send list of channels specified by hostapd or INI. Change-Id: I9b931c69ce72a18c7e1ec603143091da6abca70c CRs-Fixed: 2100742 --- core/hdd/src/wlan_hdd_cfg80211.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index 9d9b26b7203d..d5577ee51b81 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -2002,11 +2002,19 @@ void hdd_cfg80211_update_acs_config(hdd_adapter_t *adapter, sap_config = &adapter->sessionCtx.ap.sapConfig; hdd_get_scan_band(hdd_ctx, &adapter->sessionCtx.ap.sapConfig, &band); - /* Get valid channels for SAP */ - wlan_hdd_sap_get_valid_channellist(adapter, - &channel_count, - channel_list, - band); + + if (sap_config->acs_cfg.ch_list) { + /* Copy INI or hostapd provided ACS channel range*/ + qdf_mem_copy(channel_list, sap_config->acs_cfg.ch_list, + sap_config->acs_cfg.ch_list_count); + channel_count = sap_config->acs_cfg.ch_list_count; + } else { + /* No channel list provided, copy all valid channels */ + wlan_hdd_sap_get_valid_channellist(adapter, + &channel_count, + channel_list, + band); + } hdd_update_reg_chan_info(adapter, channel_count, channel_list); hdd_get_freq_list(channel_list, freq_list, channel_count);