瀏覽代碼

qcacmn: Extract band info from wmi_roam_neighbor_report_info

In API extract_roam_11kv_stats_tlv(), band info value is
fetched from wmi_roam_scan_info. This results in failure
during active mode when single tlv is sent for each event
as wmi_roam_scan_info tlv is not populated for event
expect for roam specific events.

Extract band info from wmi_roam_neighbor_report_info
tlv for neighbor report and BTM events in order
to overcome the above mentioned issue.

Change-Id: Ie53ec36ea1b788219b33f0956b489d5bbe0bb9b0
CRs-Fixed: 3631719
Vijay Raj 1 年之前
父節點
當前提交
da8873f2bd
共有 4 個文件被更改,包括 8 次插入10 次删除
  1. 1 3
      wmi/inc/wmi_unified_api.h
  2. 1 1
      wmi/inc/wmi_unified_priv.h
  3. 2 2
      wmi/src/wmi_unified_api.c
  4. 4 4
      wmi/src/wmi_unified_tlv.c

+ 1 - 3
wmi/inc/wmi_unified_api.h

@@ -910,15 +910,13 @@ wmi_unified_extract_roam_result_stats(wmi_unified_t wmi, void *evt_buf,
  * @dst:       Pointer to destination structure to fill data
  * @idx:       TLV id
  * @rpt_idx:   index of the current channel
- * @band: Band of the link on which packet was transmitted/received.
  *
  * Return: QDF_STATUS
  */
 QDF_STATUS
 wmi_unified_extract_roam_11kv_stats(wmi_unified_t wmi, void *evt_buf,
 				    struct wmi_neighbor_report_data *dst,
-				    uint8_t idx, uint8_t rpt_idx,
-				    uint8_t band);
+				    uint8_t idx, uint8_t rpt_idx);
 
 /**
  * wmi_unified_vdev_create_send() - send VDEV create command to fw

+ 1 - 1
wmi/inc/wmi_unified_priv.h

@@ -2573,7 +2573,7 @@ QDF_STATUS
 (*extract_roam_11kv_stats)(wmi_unified_t wmi_handle,
 			   void *evt_buf,
 			   struct wmi_neighbor_report_data *dst,
-			   uint8_t idx, uint8_t rpt_idx, uint8_t band);
+			   uint8_t idx, uint8_t rpt_idx);
 
 void (*wmi_pdev_id_conversion_enable)(wmi_unified_t wmi_handle,
 				      uint32_t *pdev_map,

+ 2 - 2
wmi/src/wmi_unified_api.c

@@ -3712,11 +3712,11 @@ wmi_unified_extract_roam_result_stats(wmi_unified_t wmi, void *buf,
 QDF_STATUS
 wmi_unified_extract_roam_11kv_stats(wmi_unified_t wmi, void *evt_buf,
 				    struct wmi_neighbor_report_data *dst,
-				    uint8_t idx, uint8_t rpt_idx, uint8_t band)
+				    uint8_t idx, uint8_t rpt_idx)
 {
 	if (wmi->ops->extract_roam_11kv_stats)
 		return wmi->ops->extract_roam_11kv_stats(wmi, evt_buf, dst, idx,
-							 rpt_idx, band);
+							 rpt_idx);
 
 	return QDF_STATUS_E_FAILURE;
 }

+ 4 - 4
wmi/src/wmi_unified_tlv.c

@@ -20024,12 +20024,11 @@ extract_roam_result_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
  * @dst:        Pointer to destination structure to fill data
  * @idx:        TLV id
  * @rpt_idx:    Neighbor report Channel index
- * @band: Band of the link on which packet is transmitted or received
  */
 static QDF_STATUS
 extract_roam_11kv_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
 			    struct wmi_neighbor_report_data *dst,
-			    uint8_t idx, uint8_t rpt_idx, uint8_t band)
+			    uint8_t idx, uint8_t rpt_idx)
 {
 	WMI_ROAM_STATS_EVENTID_param_tlvs *param_buf;
 	wmi_roam_neighbor_report_info *src_data = NULL;
@@ -20060,7 +20059,8 @@ extract_roam_11kv_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
 	dst->num_rpt =
 		WMI_ROAM_NEIGHBOR_REPORT_INFO_NUM_OF_NRIE_GET(src_data->neighbor_report_detail);
 
-	dst->band = band;
+	dst->band =
+		WMI_ROAM_NEIGHBOR_REPORT_INFO_MLO_BAND_INFO_GET(src_data->neighbor_report_detail);
 
 	if (dst->band != WMI_MLO_BAND_NO_MLO)
 		dst->is_mlo = true;
@@ -20159,7 +20159,7 @@ extract_roam_result_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
 static QDF_STATUS
 extract_roam_11kv_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
 			    struct wmi_neighbor_report_data *dst,
-			    uint8_t idx, uint8_t rpt_idx, uint8_t band)
+			    uint8_t idx, uint8_t rpt_idx)
 {
 	return QDF_STATUS_E_NOSUPPORT;
 }