Jelajahi Sumber

qcacmn: Reserve 128 bytes headroom in monitor status buffer

Reserve 128 bytes headroom for monitor status buffer
to accomadate feature specific radiotap header or any other info
in the headroom.

CRs-Fixed: 2775118
Change-Id: I2b1aba26e565b58c48a2e24ad17965aacd6b4526
Shivani Soni 4 tahun lalu
induk
melakukan
f1392936e6
2 mengubah file dengan 6 tambahan dan 4 penghapusan
  1. 1 1
      dp/wifi3.0/dp_rx_mon_status.c
  2. 5 3
      hal/wifi3.0/hal_rx.h

+ 1 - 1
dp/wifi3.0/dp_rx_mon_status.c

@@ -1838,7 +1838,7 @@ dp_rx_nbuf_prepare(struct dp_soc *soc, struct dp_pdev *pdev)
 			nbuf_retry_count++) {
 		/* Allocate a new skb using alloc_skb */
 		nbuf = qdf_nbuf_alloc_no_recycler(RX_MON_STATUS_BUF_SIZE,
-						  RX_BUFFER_RESERVATION,
+						  RX_MON_STATUS_BUF_RESERVATION,
 						  RX_DATA_BUFFER_ALIGNMENT);
 
 		if (!nbuf) {

+ 5 - 3
hal/wifi3.0/hal_rx.h

@@ -40,13 +40,15 @@
 #define RX_MONITOR_BUFFER_SIZE  2048
 #endif
 
-/* MONITOR STATUS BUFFER SIZE = 1536 data bytes, buffer allocation of 2k bytes
- * including skb shared info and buffer alignment.
+/* MONITOR STATUS BUFFER SIZE = 1408 data bytes, buffer allocation of 2k bytes
+ * including buffer reservation, buffer alignment and skb shared info size.
  */
 #define RX_MON_STATUS_BASE_BUF_SIZE    2048
 #define RX_MON_STATUS_BUF_ALIGN  128
+#define RX_MON_STATUS_BUF_RESERVATION  128
 #define RX_MON_STATUS_BUF_SIZE  (RX_MON_STATUS_BASE_BUF_SIZE - \
-				 RX_MON_STATUS_BUF_ALIGN - QDF_SHINFO_SIZE)
+				 (RX_MON_STATUS_BUF_RESERVATION + \
+				  RX_MON_STATUS_BUF_ALIGN + QDF_SHINFO_SIZE))
 
 /* HAL_RX_NON_QOS_TID = NON_QOS_TID which is 16 */
 #define HAL_RX_NON_QOS_TID 16