diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index 4a8c9e0afbb8..6ee1b4fc00bb 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -2603,6 +2603,8 @@ static int __wlan_hdd_cfg80211_do_acs(struct wiphy *wiphy, * hw_mode = any: only QCA_WLAN_VENDOR_ATTR_ACS_FREQ_LIST attr * is present */ + + wlan_hdd_undo_acs(adapter); if (tb[QCA_WLAN_VENDOR_ATTR_ACS_CH_LIST]) { char *tmp = nla_data(tb[QCA_WLAN_VENDOR_ATTR_ACS_CH_LIST]); diff --git a/core/hdd/src/wlan_hdd_hostapd.c b/core/hdd/src/wlan_hdd_hostapd.c index 8dfbae14c290..d4113abc4e20 100644 --- a/core/hdd/src/wlan_hdd_hostapd.c +++ b/core/hdd/src/wlan_hdd_hostapd.c @@ -6313,7 +6313,7 @@ QDF_STATUS hdd_init_ap_mode(struct hdd_adapter *adapter, bool reinit) if (!reinit) { adapter->session.ap.sap_config.acs_cfg.acs_mode = false; - qdf_mem_free(adapter->session.ap.sap_config.acs_cfg.ch_list); + wlan_hdd_undo_acs(adapter); qdf_mem_zero(&adapter->session.ap.sap_config.acs_cfg, sizeof(struct sap_acs_cfg)); } @@ -8269,11 +8269,7 @@ int wlan_hdd_cfg80211_start_bss(struct hdd_adapter *adapter, error: clear_bit(SOFTAP_INIT_DONE, &adapter->event_flags); - if (adapter->session.ap.sap_config.acs_cfg.ch_list) { - qdf_mem_free(adapter->session.ap.sap_config. - acs_cfg.ch_list); - adapter->session.ap.sap_config.acs_cfg.ch_list = NULL; - } + wlan_hdd_undo_acs(adapter); free: qdf_mem_free(sme_config);