Pārlūkot izejas kodu

qcacmn: Fix to process the RX_PPDU_END_STATUS_DONE TLV

RX_PPDU_END_STATUS_DONE TLV is not being processed, since Host
is not copying the last byte from the payload.
Add code to copy the full payload from status frag and process
it to the upper layer.

Change-Id: I51d03f5664b2944008936e3711f2ba74bcfde89c
CRs-Fixed: 3179137
Adwait Nayak 3 gadi atpakaļ
vecāks
revīzija
94eec2edd6
2 mainītis faili ar 2 papildinājumiem un 1 dzēšanām
  1. 1 0
      dp/wifi3.0/dp_rx.h
  2. 1 1
      dp/wifi3.0/monitor/2.0/dp_rx_mon_status_2.0.c

+ 1 - 0
dp/wifi3.0/dp_rx.h

@@ -46,6 +46,7 @@
 
 #define RX_BUFFER_RESERVATION   0
 #ifdef BE_PKTLOG_SUPPORT
+#define BUFFER_RESIDUE 1
 #define RX_MON_MIN_HEAD_ROOM   64
 #endif
 

+ 1 - 1
dp/wifi3.0/monitor/2.0/dp_rx_mon_status_2.0.c

@@ -46,7 +46,7 @@ dp_rx_process_pktlog_be(struct dp_soc *soc, struct dp_pdev *pdev,
 		return QDF_STATUS_E_NOMEM;
 
 	qdf_nbuf_add_rx_frag(status_frag, nbuf, 0,
-			     end_offset,
+			     (end_offset + BUFFER_RESIDUE),
 			     RX_MON_MIN_HEAD_ROOM, true);
 
 	if (mon_pdev->dp_peer_based_pktlog && ppdu_info) {