From 610ed92400c96cccc422e095e4024727be598bbb Mon Sep 17 00:00:00 2001 From: Jinwei Chen Date: Thu, 27 Feb 2020 15:10:14 +0800 Subject: [PATCH] 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 --- dp/wifi3.0/dp_htt.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dp/wifi3.0/dp_htt.h b/dp/wifi3.0/dp_htt.h index 56853b071c..d203e98eb3 100644 --- a/dp/wifi3.0/dp_htt.h +++ b/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