Browse Source

qcacmn: Print beacon info after RSSI/chan are updated from prev frame

In case of channel mismatch, RSSI and channel etc are updated from
previous frame. Also in hidden SSID case the SSID is updated from
prev frame for beacons.

So print the beacon after updating these params from previous frame.

Change-Id: Ia4dc4769f7bccf4698074a3bcedefd1909fd2e7b
CRs-Fixed: 2587067
Pankaj Singh 5 years ago
parent
commit
e10977221a
1 changed files with 16 additions and 15 deletions
  1. 16 15
      umac/scan/core/src/wlan_scan_cache_db.c

+ 16 - 15
umac/scan/core/src/wlan_scan_cache_db.c

@@ -875,6 +875,17 @@ static QDF_STATUS scm_add_update_entry(struct wlan_objmgr_psoc *psoc,
 	is_dup_found = scm_find_duplicate(pdev, scan_obj, scan_db, scan_params,
 	is_dup_found = scm_find_duplicate(pdev, scan_obj, scan_db, scan_params,
 					  &dup_node);
 					  &dup_node);
 
 
+	scm_nofl_debug("Received %s: BSSID: %pM tsf_delta %u Seq %d ssid: %.*s rssi: %d snr %d freq %d phy_mode %d hidden %d chan_mismatch %d pdev %d",
+		       (scan_params->frm_subtype == MGMT_SUBTYPE_PROBE_RESP) ?
+		       "Probe Rsp" : "Beacon", scan_params->bssid.bytes,
+		       scan_params->tsf_delta, scan_params->seq_num,
+		       scan_params->ssid.length, scan_params->ssid.ssid,
+		       scan_params->rssi_raw, scan_params->snr,
+		       scan_params->channel.chan_freq, scan_params->phy_mode,
+		       scan_params->is_hidden_ssid,
+		       scan_params->channel_mismatch,
+		       wlan_objmgr_pdev_get_pdev_id(pdev));
+
 	if (scan_obj->cb.inform_beacon)
 	if (scan_obj->cb.inform_beacon)
 		scan_obj->cb.inform_beacon(pdev, scan_params);
 		scan_obj->cb.inform_beacon(pdev, scan_params);
 
 
@@ -994,26 +1005,16 @@ QDF_STATUS __scm_handle_bcn_probe(struct scan_bcn_probe_event *bcn)
 		scan_entry = scan_node->entry;
 		scan_entry = scan_node->entry;
 
 
 		if (scan_obj->drop_bcn_on_chan_mismatch &&
 		if (scan_obj->drop_bcn_on_chan_mismatch &&
-			scan_entry->channel_mismatch) {
-			scm_debug("Drop frame, as channel mismatch Received for from BSSID: %pM Seq Num: %d",
-				   scan_entry->bssid.bytes,
-				   scan_entry->seq_num);
+		    scan_entry->channel_mismatch) {
+			scm_debug("Drop frame, as channel mismatch Received for from BSSID: %pM Seq Num: %d freq %d RSSI %d",
+				  scan_entry->bssid.bytes, scan_entry->seq_num,
+				  scan_entry->channel.chan_freq,
+				  scan_entry->rssi_raw);
 			util_scan_free_cache_entry(scan_entry);
 			util_scan_free_cache_entry(scan_entry);
 			qdf_mem_free(scan_node);
 			qdf_mem_free(scan_node);
 			continue;
 			continue;
 		}
 		}
 
 
-		scm_nofl_debug("Received %s from BSSID: %pM tsf_delta = %u Seq Num: %d  ssid:%.*s, rssi: %d snr = %d frequency %d phy_mode %d pdev_id = %d",
-			       (bcn->frm_type == MGMT_SUBTYPE_PROBE_RESP) ?
-			       "Probe Rsp" : "Beacon", scan_entry->bssid.bytes,
-			       scan_entry->tsf_delta, scan_entry->seq_num,
-			       scan_entry->ssid.length, scan_entry->ssid.ssid,
-			       scan_entry->rssi_raw,
-			       scan_entry->snr,
-			       scan_entry->channel.chan_freq,
-			       scan_entry->phy_mode,
-			       wlan_objmgr_pdev_get_pdev_id(pdev));
-
 		if (scan_obj->cb.update_beacon)
 		if (scan_obj->cb.update_beacon)
 			scan_obj->cb.update_beacon(pdev, scan_entry);
 			scan_obj->cb.update_beacon(pdev, scan_entry);