Przeglądaj źródła

qcacmn: Initialize link id in reo params

Initialize link id value in the reo params structure.
Link id is derived from the pdev object.

CRs-Fixed: 3166104
Change-Id: I444f5881690c3d48729f7232d6464bc9d1c4c892
Edayilliam Jayadev 3 lat temu
rodzic
commit
4ccecd0b01

+ 40 - 0
umac/cmn_services/mgmt_txrx/dispatcher/src/wlan_mgmt_txrx_rx_reo_tgt_api.c

@@ -22,6 +22,7 @@
  */
 #include <wlan_mgmt_txrx_rx_reo_tgt_api.h>
 #include "../../core/src/wlan_mgmt_txrx_rx_reo_i.h"
+#include <../../core/src/wlan_mgmt_txrx_main_i.h>
 
 QDF_STATUS
 tgt_mgmt_rx_reo_get_num_active_hw_links(struct wlan_objmgr_psoc *psoc,
@@ -146,6 +147,21 @@ QDF_STATUS
 tgt_mgmt_rx_reo_fw_consumed_event_handler(struct wlan_objmgr_pdev *pdev,
 					  struct mgmt_rx_reo_params *params)
 {
+	int8_t link_id;
+
+	if (!params) {
+		mgmt_rx_reo_err("MGMT rx reo params is NULL");
+		return QDF_STATUS_E_NULL_VALUE;
+	}
+
+	link_id = wlan_get_mlo_link_id_from_pdev(pdev);
+	if (link_id < 0) {
+		mgmt_rx_reo_err("Invalid link %d for the pdev", link_id);
+		return QDF_STATUS_E_INVAL;
+	}
+
+	params->link_id = link_id;
+
 	return tgt_mgmt_rx_reo_enter_algo_without_buffer(
 			pdev, params, MGMT_RX_REO_FRAME_DESC_FW_CONSUMED_FRAME);
 }
@@ -154,6 +170,21 @@ QDF_STATUS
 tgt_mgmt_rx_reo_host_drop_handler(struct wlan_objmgr_pdev *pdev,
 				  struct mgmt_rx_reo_params *params)
 {
+	int8_t link_id;
+
+	if (!params) {
+		mgmt_rx_reo_err("MGMT rx reo params is NULL");
+		return QDF_STATUS_E_NULL_VALUE;
+	}
+
+	link_id = wlan_get_mlo_link_id_from_pdev(pdev);
+	if (link_id < 0) {
+		mgmt_rx_reo_err("Invalid link %d for the pdev", link_id);
+		return QDF_STATUS_E_INVAL;
+	}
+
+	params->link_id = link_id;
+
 	return tgt_mgmt_rx_reo_enter_algo_without_buffer(
 			pdev, params, MGMT_RX_REO_FRAME_DESC_ERROR_FRAME);
 }
@@ -227,6 +258,15 @@ QDF_STATUS tgt_mgmt_rx_reo_frame_handler(
 		goto cleanup;
 	}
 
+	link_id = wlan_get_mlo_link_id_from_pdev(pdev);
+	if (link_id < 0) {
+		mgmt_rx_reo_err("Invalid link %d for the pdev", link_id);
+		status = QDF_STATUS_E_INVAL;
+		goto cleanup;
+	}
+
+	mgmt_rx_params->reo_params->link_id = link_id;
+
 	/* Populate frame descriptor */
 	desc.type = MGMT_RX_REO_FRAME_DESC_HOST_CONSUMED_FRAME;
 	desc.nbuf = buf;