Browse Source

qcacmn: Optimize scan logs while dropping frame

Optimize scan logs while dropping frame to print frame type
and freq and other info and use same format to print.

Also If bssid hint is zero, avoid printing hidden bssid which
are filtered out.

Change-Id: Ibb6cb523b9be6af2c05c4a5a7a5cbccb44f984af
CRs-Fixed: 3506377
Abhishek Singh 2 years ago
parent
commit
e7e15dbff4

+ 50 - 44
umac/scan/core/src/wlan_scan_cache_db.c

@@ -1132,7 +1132,7 @@ QDF_STATUS __scm_handle_bcn_probe(struct scan_bcn_probe_event *bcn)
 		return QDF_STATUS_E_INVAL;
 	}
 	if (!bcn->rx_data) {
-		scm_err("rx_data iS NULL");
+		scm_err("rx_data is NULL");
 		status = QDF_STATUS_E_INVAL;
 		goto free_nbuf;
 	}
@@ -1147,13 +1147,12 @@ QDF_STATUS __scm_handle_bcn_probe(struct scan_bcn_probe_event *bcn)
 	pdev = wlan_objmgr_get_pdev_by_id(psoc,
 			   bcn->rx_data->pdev_id, WLAN_SCAN_ID);
 	if (!pdev) {
-		scm_err("pdev is NULL");
+		scm_err("pdev is NULL for pdev %d", bcn->rx_data->pdev_id);
 		status = QDF_STATUS_E_INVAL;
 		goto free_nbuf;
 	}
 	scan_obj = wlan_psoc_get_scan_obj(psoc);
 	if (!scan_obj) {
-		scm_err("scan_obj is NULL");
 		status = QDF_STATUS_E_INVAL;
 		goto free_nbuf;
 	}
@@ -1176,8 +1175,8 @@ QDF_STATUS __scm_handle_bcn_probe(struct scan_bcn_probe_event *bcn)
 			qdf_nbuf_len(bcn->buf), bcn->frm_type,
 			bcn->rx_data);
 	if (!scan_list || qdf_list_empty(scan_list)) {
-		scm_debug("failed to unpack %d frame BSSID: "QDF_MAC_ADDR_FMT,
-			  bcn->frm_type, QDF_MAC_ADDR_REF(hdr->i_addr3));
+		scm_debug(QDF_MAC_ADDR_FMT ": failed to unpack %d frame",
+			  QDF_MAC_ADDR_REF(hdr->i_addr3), bcn->frm_type);
 		status = QDF_STATUS_E_INVAL;
 		goto free_nbuf;
 	}
@@ -1186,8 +1185,9 @@ QDF_STATUS __scm_handle_bcn_probe(struct scan_bcn_probe_event *bcn)
 	for (i = 0; i < list_count; i++) {
 		status = qdf_list_remove_front(scan_list, &next_node);
 		if (QDF_IS_STATUS_ERROR(status) || !next_node) {
-			scm_debug("list remove failure i:%d, lsize:%d, BSSID: "QDF_MAC_ADDR_FMT,
-				  i, list_count, QDF_MAC_ADDR_REF(hdr->i_addr3));
+			scm_debug(QDF_MAC_ADDR_FMT ": list remove failure i %d, lsize %d",
+				  QDF_MAC_ADDR_REF(hdr->i_addr3), i,
+				  list_count);
 			status = QDF_STATUS_E_INVAL;
 			goto free_nbuf;
 		}
@@ -1199,10 +1199,13 @@ QDF_STATUS __scm_handle_bcn_probe(struct scan_bcn_probe_event *bcn)
 
 		if (scan_obj->drop_bcn_on_chan_mismatch &&
 		    scan_entry->channel_mismatch) {
-			scm_nofl_debug("Drop frame for chan mismatch "QDF_MAC_ADDR_FMT" Seq Num: %d freq %d RSSI %d",
-				       QDF_MAC_ADDR_REF(scan_entry->bssid.bytes),
+			scm_nofl_debug(QDF_MAC_ADDR_FMT ": Drop frame(%d) for chan mismatch, seq %d frame freq %d rx data freq %d RSSI %d",
+				       QDF_MAC_ADDR_REF(
+				       scan_entry->bssid.bytes),
+				       bcn->frm_type,
 				       scan_entry->seq_num,
 				       scan_entry->channel.chan_freq,
+				       bcn->rx_data->chan_freq,
 				       scan_entry->rssi_raw);
 			util_scan_free_cache_entry(scan_entry);
 			qdf_mem_free(scan_node);
@@ -1214,9 +1217,11 @@ QDF_STATUS __scm_handle_bcn_probe(struct scan_bcn_probe_event *bcn)
 					pdev,
 					scan_entry->channel.chan_freq,
 					REG_BEST_PWR_MODE)) {
-			scm_nofl_debug("Drop frame for invalid freq %d: "QDF_MAC_ADDR_FMT" Seq Num: %d RSSI %d",
+			scm_nofl_debug(QDF_MAC_ADDR_FMT ": Drop frame(%d) for invalid freq %d seq %d RSSI %d",
+				       QDF_MAC_ADDR_REF(
+				       scan_entry->bssid.bytes),
+				       bcn->frm_type,
 				       scan_entry->channel.chan_freq,
-				       QDF_MAC_ADDR_REF(scan_entry->bssid.bytes),
 				       scan_entry->seq_num,
 				       scan_entry->rssi_raw);
 			util_scan_free_cache_entry(scan_entry);
@@ -1229,11 +1234,11 @@ QDF_STATUS __scm_handle_bcn_probe(struct scan_bcn_probe_event *bcn)
 					util_scan_entry_rsn(scan_entry));
 			if (QDF_IS_STATUS_ERROR(status) &&
 			    !scm_is_p2p_wildcard_ssid(scan_entry)) {
-				scm_nofl_debug("Drop frame from invalid RSN IE AP"
-					       QDF_MAC_ADDR_FMT
-					       ": RSN IE parse failed, status %d",
+				scm_nofl_debug(QDF_MAC_ADDR_FMT ": Drop frame(%d) with invalid RSN IE freq %d, parse status %d",
 					       QDF_MAC_ADDR_REF(
 					       scan_entry->bssid.bytes),
+					       bcn->frm_type,
+					       scan_entry->channel.chan_freq,
 					       status);
 				util_scan_free_cache_entry(scan_entry);
 				qdf_mem_free(scan_node);
@@ -1243,11 +1248,11 @@ QDF_STATUS __scm_handle_bcn_probe(struct scan_bcn_probe_event *bcn)
 		if (wlan_cm_get_check_6ghz_security(psoc) &&
 		    wlan_reg_is_6ghz_chan_freq(scan_entry->channel.chan_freq)) {
 			if (!util_scan_entry_rsn(scan_entry)) {
-				scm_info_rl(
-					"Drop frame from "QDF_MAC_ADDR_FMT
-					": No RSN IE for 6GHz AP",
-					QDF_MAC_ADDR_REF(
-						scan_entry->bssid.bytes));
+				scm_info_rl(QDF_MAC_ADDR_FMT ": Drop frame(%d) with No RSN IE in 6GHz(%d)",
+					    QDF_MAC_ADDR_REF(
+					    scan_entry->bssid.bytes),
+					    bcn->frm_type,
+					    scan_entry->channel.chan_freq);
 				util_scan_free_cache_entry(scan_entry);
 				qdf_mem_free(scan_node);
 				continue;
@@ -1255,13 +1260,12 @@ QDF_STATUS __scm_handle_bcn_probe(struct scan_bcn_probe_event *bcn)
 			status = wlan_crypto_rsnie_check(&sec_params,
 					util_scan_entry_rsn(scan_entry));
 			if (QDF_IS_STATUS_ERROR(status)) {
-				scm_info_rl(
-					"Drop frame from 6GHz AP "
-					QDF_MAC_ADDR_FMT
-					": RSN IE parse failed, status %d",
-					QDF_MAC_ADDR_REF(
-						scan_entry->bssid.bytes),
-					status);
+				scm_info_rl(QDF_MAC_ADDR_FMT ": Drop frame(%d) with invalid RSN IE in 6GHz(%d), parse status %d",
+					    QDF_MAC_ADDR_REF(
+					    scan_entry->bssid.bytes),
+					    bcn->frm_type,
+					    scan_entry->channel.chan_freq,
+					    status);
 				util_scan_free_cache_entry(scan_entry);
 				qdf_mem_free(scan_node);
 				continue;
@@ -1274,12 +1278,12 @@ QDF_STATUS __scm_handle_bcn_probe(struct scan_bcn_probe_event *bcn)
 					   WLAN_CRYPTO_CIPHER_WEP_40)) ||
 			    (QDF_HAS_PARAM(sec_params.ucastcipherset,
 					   WLAN_CRYPTO_CIPHER_WEP_104))) {
-				scm_info_rl(
-					"Drop frame from "QDF_MAC_ADDR_FMT
-					": Invalid sec type %0X for 6GHz AP",
-					QDF_MAC_ADDR_REF(
-						scan_entry->bssid.bytes),
-					sec_params.ucastcipherset);
+				scm_info_rl(QDF_MAC_ADDR_FMT ": Drop frame(%d) with Invalid sec type %0X for 6GHz(%d)",
+					    QDF_MAC_ADDR_REF(
+					    scan_entry->bssid.bytes),
+					    bcn->frm_type,
+					    sec_params.ucastcipherset,
+					    scan_entry->channel.chan_freq);
 				util_scan_free_cache_entry(scan_entry);
 				qdf_mem_free(scan_node);
 				continue;
@@ -1289,12 +1293,12 @@ QDF_STATUS __scm_handle_bcn_probe(struct scan_bcn_probe_event *bcn)
 					sec_params.rsn_caps,
 					util_scan_entry_rsnxe(scan_entry),
 					0, false)) {
-				scm_info_rl(
-					"Drop frame from "QDF_MAC_ADDR_FMT
-					": Invalid AKM suite %0X for 6GHz AP",
-					QDF_MAC_ADDR_REF(
-						scan_entry->bssid.bytes),
-					sec_params.key_mgmt);
+				scm_info_rl(QDF_MAC_ADDR_FMT ": Drop frame(%d) with Invalid AKM suite %0X for 6GHz(%d)",
+					    QDF_MAC_ADDR_REF(
+					    scan_entry->bssid.bytes),
+					    bcn->frm_type,
+					    sec_params.key_mgmt,
+					    scan_entry->channel.chan_freq);
 				util_scan_free_cache_entry(scan_entry);
 				qdf_mem_free(scan_node);
 				continue;
@@ -1314,10 +1318,10 @@ QDF_STATUS __scm_handle_bcn_probe(struct scan_bcn_probe_event *bcn)
 		if (!wlan_cm_get_standard_6ghz_conn_policy(psoc) &&
 		    !scm_is_bss_allowed_for_country(psoc, scan_entry) &&
 		    wlan_cm_get_check_6ghz_security(psoc)) {
-			scm_info_rl(
-				"Drop frame from "QDF_MAC_ADDR_FMT
-				": AP in VLP mode not supported for US",
-				QDF_MAC_ADDR_REF(scan_entry->bssid.bytes));
+			scm_info_rl(QDF_MAC_ADDR_FMT ": Drop frame(%d) freq %d, as country not present OR VLP mode not supported for US",
+				    QDF_MAC_ADDR_REF(scan_entry->bssid.bytes),
+				    bcn->frm_type,
+				    scan_entry->channel.chan_freq);
 			util_scan_free_cache_entry(scan_entry);
 			qdf_mem_free(scan_node);
 			continue;
@@ -1325,9 +1329,11 @@ QDF_STATUS __scm_handle_bcn_probe(struct scan_bcn_probe_event *bcn)
 
 		status = scm_add_update_entry(psoc, pdev, scan_entry);
 		if (QDF_IS_STATUS_ERROR(status)) {
-			scm_debug("failed to add entry for BSSID: "QDF_MAC_ADDR_FMT" Seq Num: %d",
+			scm_debug(QDF_MAC_ADDR_FMT ": Failed to add entry for frame(%d) seq %d freq %d",
 				  QDF_MAC_ADDR_REF(scan_entry->bssid.bytes),
-				  scan_entry->seq_num);
+				  bcn->frm_type,
+				  scan_entry->seq_num,
+				  scan_entry->channel.chan_freq);
 			util_scan_free_cache_entry(scan_entry);
 			qdf_mem_free(scan_node);
 			continue;

+ 1 - 1
umac/scan/core/src/wlan_scan_filter.c

@@ -594,7 +594,7 @@ static bool scm_ignore_ssid_check_for_owe(struct scan_filter *filter,
 		return true;
 
 	/* Dump only for hidden SSID as non-hidden are anyway rejected */
-	if (is_hidden)
+	if (is_hidden && !qdf_is_macaddr_zero(&filter->bssid_hint))
 		scm_debug(QDF_MAC_ADDR_FMT ": Ignore hidden AP as key_mgmt 0x%x is not OWE or bssid hint: "
 			  QDF_MAC_ADDR_FMT " does not match",
 			  QDF_MAC_ADDR_REF(db_entry->bssid.bytes),

+ 2 - 3
umac/scan/dispatcher/src/wlan_scan_utils_api.c

@@ -1688,7 +1688,8 @@ util_scan_populate_bcn_ie_list(struct wlan_objmgr_pdev *pdev,
 err:
 	status = QDF_STATUS_E_INVAL;
 err_status:
-	scm_debug("failed to parse IE - id: %d, len: %d",
+	scm_debug(QDF_MAC_ADDR_FMT ": failed to parse IE - id: %d, len: %d",
+		  QDF_MAC_ADDR_REF(scan_params->bssid.bytes),
 		  ie->ie_id, ie->ie_len);
 
 	return status;
@@ -2443,8 +2444,6 @@ util_scan_gen_scan_entry(struct wlan_objmgr_pdev *pdev,
 	status = util_scan_populate_bcn_ie_list(pdev, scan_entry, &chan_freq,
 						band_mask);
 	if (QDF_IS_STATUS_ERROR(status)) {
-		scm_debug(QDF_MAC_ADDR_FMT": failed to parse beacon IE",
-			  QDF_MAC_ADDR_REF(scan_entry->bssid.bytes));
 		qdf_mem_free(scan_entry->raw_frame.ptr);
 		qdf_mem_free(scan_entry);
 		return QDF_STATUS_E_FAILURE;