Эх сурвалжийг харах

qcacmn: Add the spectral detector map valid flag per scan mode

For per-session detector map, maintain a different
det_map_valid flag for Normal and Agile spectral scan
mode.

Change-Id: I5a2a0253624a393feba966641d518e59a48f4a8a
Jhalak Naik 3 жил өмнө
parent
commit
8f5372788b

+ 2 - 2
target_if/spectral/target_if_spectral.c

@@ -5758,7 +5758,7 @@ target_if_spectral_populate_session_det_host_info(
 			}
 			is_sec80 = !is_sec80;
 		}
-		det_map->det_map_valid = true;
+		det_map->det_map_valid[smode] = true;
 		qdf_spin_unlock_bh(&spectral->session_det_map_lock);
 	}
 	qdf_spin_unlock_bh(&spectral->detector_list_lock);
@@ -6124,7 +6124,7 @@ target_if_stop_spectral_scan(struct wlan_objmgr_pdev *pdev,
 
 	qdf_spin_lock_bh(&spectral->session_det_map_lock);
 	for (det = 0; det < MAX_DETECTORS_PER_PDEV; det++)
-		spectral->det_map[det].det_map_valid = false;
+		spectral->det_map[det].det_map_valid[smode] = false;
 
 	qdf_spin_unlock_bh(&spectral->session_det_map_lock);
 

+ 1 - 1
target_if/spectral/target_if_spectral.h

@@ -1074,7 +1074,7 @@ struct per_session_det_map {
 	uint8_t num_dest_det_info;
 	enum spectral_msg_buf_type buf_type;
 	bool send_to_upper_layers;
-	bool det_map_valid;
+	bool det_map_valid[SPECTRAL_SCAN_MODE_MAX];
 };
 
 /**

+ 5 - 3
target_if/spectral/target_if_spectral_netlink.c

@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2011,2017-2021 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  *
  * Permission to use, copy, modify, and/or distribute this software for
@@ -76,10 +77,11 @@ target_if_spectral_fill_samp_msg(struct target_if_spectral *spectral,
 
 	qdf_spin_lock_bh(&spectral->session_det_map_lock);
 
-	if (!spectral->det_map[params->hw_detector_id].det_map_valid) {
+	if (!spectral->det_map[params->hw_detector_id].
+				det_map_valid[spectral_mode]) {
 		qdf_spin_unlock_bh(&spectral->session_det_map_lock);
-		spectral_info("Detector Map not valid for det id = %d",
-			      params->hw_detector_id);
+		spectral_info("Detector Map not valid for det id = %d and spectral mode = %d",
+			      params->hw_detector_id, spectral_mode);
 		return QDF_STATUS_E_FAILURE;
 	}