Browse Source

qcacld-3.0: Optimize logs in wlan_connectivity_mgmt_event

In api wlan_connectivity_mgmt_event(), the connecting status
is checked for every instance of wlan_connectivity_mgmt_event
resulting in excessive printing of wlan_cm_is_vdev_connecting
logs.

Add check to verify connection status for STA/CLI mode which
results in trimming of wlan_cm_is_vdev_connecting() logs.

Change-Id: I33d8d91e58a38b8998183e20bbf455ff94855c6d
CRs-Fixed: 3211801
VIJAY RAJ 2 years ago
parent
commit
f327e23c86
1 changed files with 18 additions and 11 deletions
  1. 18 11
      components/cmn_services/logging/src/wlan_connectivity_logging.c

+ 18 - 11
components/cmn_services/logging/src/wlan_connectivity_logging.c

@@ -356,6 +356,23 @@ wlan_connectivity_mgmt_event(struct wlan_frame_hdr *mac_hdr,
 	struct wlan_objmgr_vdev *vdev;
 	bool is_initial_connection = false;
 	bool is_auth_frame_caching_required = false;
+	enum QDF_OPMODE opmode;
+
+	vdev = wlan_objmgr_get_vdev_by_id_from_psoc(global_cl.psoc, vdev_id,
+						    WLAN_MLME_OBJMGR_ID);
+	if (!vdev) {
+		logging_debug("Unable to find vdev:%d", vdev_id);
+		return;
+	}
+
+	opmode = wlan_vdev_mlme_get_opmode(vdev);
+	if (opmode != QDF_STA_MODE && opmode != QDF_P2P_CLIENT_MODE) {
+		wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_OBJMGR_ID);
+		return;
+	}
+
+	is_initial_connection = wlan_cm_is_vdev_connecting(vdev);
+	wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_OBJMGR_ID);
 
 	new_rec = qdf_mem_malloc(sizeof(*new_rec));
 	if (!new_rec)
@@ -380,16 +397,6 @@ wlan_connectivity_mgmt_event(struct wlan_frame_hdr *mac_hdr,
 	new_rec->pkt_info.is_retry_frame =
 		(mac_hdr->i_fc[1] & IEEE80211_FC1_RETRY);
 
-	vdev = wlan_objmgr_get_vdev_by_id_from_psoc(global_cl.psoc, vdev_id,
-						    WLAN_MLME_OBJMGR_ID);
-	if (vdev) {
-		is_initial_connection = wlan_cm_is_vdev_connecting(vdev);
-		wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_OBJMGR_ID);
-	} else {
-		logging_debug("Unable to find vdev:%d", vdev_id);
-		goto err;
-	}
-
 	if (global_cl.psoc)
 		is_auth_frame_caching_required =
 			wlan_psoc_nif_fw_ext2_cap_get(
@@ -405,7 +412,7 @@ wlan_connectivity_mgmt_event(struct wlan_frame_hdr *mac_hdr,
 	} else {
 		wlan_connectivity_log_enqueue(new_rec);
 	}
-err:
+
 	qdf_mem_free(new_rec);
 }