Pārlūkot izejas kodu

qcacld-3.0: Move acs_complete_event to per link info

The variable is used for notifying ACS completed event for
SAP/P2P-GO modes, so move this variable to link info.
Existing callers moved to deflink pointer.

Change-Id: I93463536469d67bc8dc3bcd27879cccab0dba025
CRs-Fixed: 3452137
Vinod Kumar Pirla 2 gadi atpakaļ
vecāks
revīzija
529eb875d6

+ 3 - 2
core/hdd/inc/wlan_hdd_main.h

@@ -1011,6 +1011,7 @@ enum udp_qos_upgrade {
  * @session: union of @ap and @station specific structs
  * @session.station: station mode information
  * @session.ap: ap mode specific information
+ * @acs_complete_event: acs complete event
  * @rssi: The signal strength (dBm)
  * @snr: SNR measured from @rssi
  * @rssi_on_disconnect: Rssi at disconnection time in STA mode
@@ -1031,6 +1032,8 @@ struct wlan_hdd_link_info {
 		struct hdd_ap_ctx ap;
 	} session;
 
+	qdf_event_t acs_complete_event;
+
 	int8_t rssi;
 	uint8_t snr;
 	int32_t rssi_on_disconnect;
@@ -1090,7 +1093,6 @@ struct wlan_hdd_tx_power {
  * @wapi_info:
  * @sap_stop_bss_work:
  * @ch_switch_in_progress:
- * @acs_complete_event: acs complete event
  * @tsf: structure containing tsf related information
  * @mc_addr_list:
  * @addr_filter_pattern:
@@ -1240,7 +1242,6 @@ struct hdd_adapter {
 	struct work_struct  sap_stop_bss_work;
 
 	qdf_atomic_t ch_switch_in_progress;
-	qdf_event_t acs_complete_event;
 
 #ifdef WLAN_FEATURE_TSF
 	struct hdd_vdev_tsf tsf;

+ 2 - 2
core/hdd/src/wlan_hdd_cfg80211.c

@@ -3809,7 +3809,7 @@ static int __wlan_hdd_cfg80211_do_acs(struct wiphy *wiphy,
 		return -EINVAL;
 	} else {
 		qdf_atomic_set(&ap_ctx->acs_in_progress, 1);
-		qdf_event_reset(&adapter->acs_complete_event);
+		qdf_event_reset(&adapter->deflink->acs_complete_event);
 	}
 
 	hdd_reg_wait_for_country_change(hdd_ctx);
@@ -4328,7 +4328,7 @@ void wlan_hdd_cfg80211_acs_ch_select_evt(struct hdd_adapter *adapter,
 	uint16_t puncture_bitmap;
 
 	qdf_atomic_set(&adapter->deflink->session.ap.acs_in_progress, 0);
-	qdf_event_set(&adapter->acs_complete_event);
+	qdf_event_set(&adapter->deflink->acs_complete_event);
 
 	sap_cfg = &(WLAN_HDD_GET_AP_CTX_PTR(adapter->deflink))->sap_config;
 	len = hdd_get_acs_evt_data_len(sap_cfg);

+ 3 - 3
core/hdd/src/wlan_hdd_main.c

@@ -8214,7 +8214,7 @@ struct hdd_adapter *hdd_open_adapter(struct hdd_context *hdd_ctx,
 		  hdd_stop_sap_due_to_invalid_channel);
 	qdf_list_create(&adapter->blocked_scan_request_q, WLAN_MAX_SCAN_COUNT);
 	qdf_mutex_create(&adapter->blocked_scan_request_q_lock);
-	qdf_event_create(&adapter->acs_complete_event);
+	qdf_event_create(&adapter->deflink->acs_complete_event);
 	qdf_event_create(&adapter->peer_cleanup_done);
 	hdd_sta_info_init(&adapter->sta_info_list);
 	hdd_sta_info_init(&adapter->cache_sta_info_list);
@@ -8277,7 +8277,7 @@ static void __hdd_close_adapter(struct hdd_context *hdd_ctx,
 	qdf_list_destroy(&adapter->blocked_scan_request_q);
 	qdf_mutex_destroy(&adapter->blocked_scan_request_q_lock);
 	policy_mgr_clear_concurrency_mode(hdd_ctx->psoc, adapter->device_mode);
-	qdf_event_destroy(&adapter->acs_complete_event);
+	qdf_event_destroy(&adapter->deflink->acs_complete_event);
 	qdf_event_destroy(&adapter->peer_cleanup_done);
 	hdd_adapter_feature_update_work_deinit(adapter);
 	hdd_cleanup_adapter(hdd_ctx, adapter, rtnl_held);
@@ -8717,7 +8717,7 @@ QDF_STATUS hdd_stop_adapter_ext(struct hdd_context *hdd_ctx,
 		if (qdf_atomic_read(&ap_ctx->acs_in_progress)) {
 			hdd_info("ACS in progress, wait for complete");
 			qdf_wait_for_event_completion(
-				&adapter->acs_complete_event,
+				&adapter->deflink->acs_complete_event,
 				ACS_COMPLETE_TIMEOUT);
 		}