Преглед изворни кода

qcacmn: Add start and end flag set for raw frame

For RAW frames, setting zero to start and end flag make difficult
to reconstruct amsdu frame.

Change-Id: I28ffb87682427c7986f98730d514a0421eae1972
CRs-Fixed: 3584549
nobelj пре 1 година
родитељ
комит
d754731461
3 измењених фајлова са 2 додато и 10 уклоњено
  1. 1 0
      dp/wifi3.0/be/dp_be_rx.c
  2. 0 10
      dp/wifi3.0/dp_rx.c
  3. 1 0
      dp/wifi3.0/li/dp_li_rx.c

+ 1 - 0
dp/wifi3.0/be/dp_be_rx.c

@@ -2303,6 +2303,7 @@ dp_rx_null_q_desc_handle_be(struct dp_soc *soc, qdf_nbuf_t nbuf,
 	}
 
 	if (qdf_unlikely(vdev->rx_decap_type == htt_cmn_pkt_type_raw)) {
+		qdf_nbuf_set_raw_frame(nbuf, 1);
 		qdf_nbuf_set_next(nbuf, NULL);
 		dp_rx_deliver_raw(vdev, nbuf, txrx_peer, link_id);
 	} else {

+ 0 - 10
dp/wifi3.0/dp_rx.c

@@ -1135,16 +1135,6 @@ dp_rx_deliver_raw(struct dp_vdev *vdev, qdf_nbuf_t nbuf_list,
 		DP_STATS_INC(vdev->pdev, rx_raw_pkts, 1);
 		DP_PEER_PER_PKT_STATS_INC_PKT(txrx_peer, rx.raw, 1,
 					      qdf_nbuf_len(nbuf), link_id);
-		/*
-		 * reset the chfrag_start and chfrag_end bits in nbuf cb
-		 * as this is a non-amsdu pkt and RAW mode simulation expects
-		 * these bit s to be 0 for non-amsdu pkt.
-		 */
-		if (qdf_nbuf_is_rx_chfrag_start(nbuf) &&
-			 qdf_nbuf_is_rx_chfrag_end(nbuf)) {
-			qdf_nbuf_set_rx_chfrag_start(nbuf, 0);
-			qdf_nbuf_set_rx_chfrag_end(nbuf, 0);
-		}
 
 		nbuf = next;
 	}

+ 1 - 0
dp/wifi3.0/li/dp_li_rx.c

@@ -1570,6 +1570,7 @@ dp_rx_null_q_desc_handle_li(struct dp_soc *soc, qdf_nbuf_t nbuf,
 		goto drop_nbuf;
 
 	if (qdf_unlikely(vdev->rx_decap_type == htt_cmn_pkt_type_raw)) {
+		qdf_nbuf_set_raw_frame(nbuf, 1);
 		qdf_nbuf_set_next(nbuf, NULL);
 		dp_rx_deliver_raw(vdev, nbuf, txrx_peer, 0);
 	} else {