From d754731461a27cbe0e918251893f003f64e5a0dd Mon Sep 17 00:00:00 2001 From: nobelj Date: Wed, 9 Aug 2023 13:17:02 -0700 Subject: [PATCH] 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 --- dp/wifi3.0/be/dp_be_rx.c | 1 + dp/wifi3.0/dp_rx.c | 10 ---------- dp/wifi3.0/li/dp_li_rx.c | 1 + 3 files changed, 2 insertions(+), 10 deletions(-) diff --git a/dp/wifi3.0/be/dp_be_rx.c b/dp/wifi3.0/be/dp_be_rx.c index d973d32061..f1121d8722 100644 --- a/dp/wifi3.0/be/dp_be_rx.c +++ b/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 { diff --git a/dp/wifi3.0/dp_rx.c b/dp/wifi3.0/dp_rx.c index e317019638..5b515753bc 100644 --- a/dp/wifi3.0/dp_rx.c +++ b/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; } diff --git a/dp/wifi3.0/li/dp_li_rx.c b/dp/wifi3.0/li/dp_li_rx.c index 9dfefa79af..97ede1a50f 100644 --- a/dp/wifi3.0/li/dp_li_rx.c +++ b/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 {