Selaa lähdekoodia

qcacmn: enlarge htt_htc misclist trim threshold

  Macro ATH_11AC_TXCOMPACT is defined, so CE4 sending completion will
not free the related htt_htc packets. Currently it depends on
htt_soc->htt_htc_pkt_misclist to free them once this kind of htt_htc
is no longer sitting in CE4 source ring which means CE sending
completion is done already. misclist will free the old/tail of
htt_htc packets if there is > 256 htt_htc packet is pending in list,
but CE4 source ring has 2048 entries, for extreme case, if CE4 sending
is blocking and > 256  htt_htc packets is pending in CE4,
misclist will free the tail htt_htc packet, but later CE4 sending
completion is coming, invalid access to htt_htc packets will happen.
  Enlarge misclist trim threshold > 2048 to ensure that when free
htt_htc packet in misclist, the htt_htc packets has done sending
completion already.

Change-Id: I2d86f68485b1d45a5ea4edb6b952f746700df54f
CRs-Fixed: 2609903
Jinwei Chen 5 vuotta sitten
vanhempi
sitoutus
610ed92400
1 muutettua tiedostoa jossa 6 lisäystä ja 1 poistoa
  1. 6 1
      dp/wifi3.0/dp_htt.h

+ 6 - 1
dp/wifi3.0/dp_htt.h

@@ -95,7 +95,12 @@ int htt_wbm_event_record(struct htt_logger *h, uint8_t tx_status,
 #define HTT_PPDU_DESC_MAX_DEPTH 16
 #define DP_SCAN_PEER_ID 0xFFFF
 
-#define DP_HTT_HTC_PKT_MISCLIST_SIZE          256
+/*
+ * Set the base misclist size to HTT copy engine source ring size
+ * to guarantee that a packet on the misclist wont be freed while it
+ * is sitting in the copy engine.
+ */
+#define DP_HTT_HTC_PKT_MISCLIST_SIZE          2048
 #define HTT_T2H_MAX_MSG_SIZE 2048
 
 #define HTT_T2H_EXT_STATS_TLV_START_OFFSET    3