Jelajahi Sumber

qcacmn: Add fix to update msdu start bit and other bits in nbuf

Add fix to update msdu start bit and other bits in network buffer.

Here is the list of bits set in network buffer
	a. msdu start bit,
	b. msdu end bit,
	c. packet is MCBC and da bit is set
	d. da valid bit is set
	e. sa valid bit is set

Change-Id: I2abf346de36a7f5ac7f86b33615145bb02065dc2
CRs-Fixed: 3479230
nobelj 2 tahun lalu
induk
melakukan
ba2e146b5a
1 mengubah file dengan 16 tambahan dan 0 penghapusan
  1. 16 0
      dp/wifi3.0/dp_rx_err.c

+ 16 - 0
dp/wifi3.0/dp_rx_err.c

@@ -1588,6 +1588,22 @@ dp_rx_err_route_hdl(struct dp_soc *soc, qdf_nbuf_t nbuf,
 	struct hal_rx_msdu_metadata msdu_metadata;
 	bool is_eapol;
 
+	qdf_nbuf_set_rx_chfrag_start(
+				nbuf,
+				hal_rx_msdu_end_first_msdu_get(soc->hal_soc,
+							       rx_tlv_hdr));
+	qdf_nbuf_set_rx_chfrag_end(nbuf,
+				   hal_rx_msdu_end_last_msdu_get(soc->hal_soc,
+								 rx_tlv_hdr));
+	qdf_nbuf_set_da_mcbc(nbuf, hal_rx_msdu_end_da_is_mcbc_get(soc->hal_soc,
+								  rx_tlv_hdr));
+	qdf_nbuf_set_da_valid(nbuf,
+			      hal_rx_msdu_end_da_is_valid_get(soc->hal_soc,
+							      rx_tlv_hdr));
+	qdf_nbuf_set_sa_valid(nbuf,
+			      hal_rx_msdu_end_sa_is_valid_get(soc->hal_soc,
+							      rx_tlv_hdr));
+
 	hal_rx_msdu_metadata_get(soc->hal_soc, rx_tlv_hdr, &msdu_metadata);
 	msdu_len = hal_rx_msdu_start_msdu_len_get(soc->hal_soc, rx_tlv_hdr);
 	pkt_len = msdu_len + msdu_metadata.l3_hdr_pad + soc->rx_pkt_tlv_size;