qcacmn: Change REO queue descriptor delete sequence
Change REO queue descriptor delete sequence to flush base and extension descriptors separately, since flushing base descriptor alone results in extensions flushed by HW much later, sometimes after freeing descriptor memory, causing use-after-free corruptions. Also increase REO command and status ring sizes since number of commands per RX TID flush has increased with this change. Fix interrupt batch count setting for non pkt/buffer rings, which includes REO status ring. Also remove callbacks during reo command list destroy, done as part of SOC detach. This should not be done since callbacks will access stale data structures that are freed as part of PDEV/SOC detach. Change-Id: I4337454d3f53cc0b3c3014ef07cc2ba13cfebb18 CRs-Fixed: 2175989
这个提交包含在:

提交者
Gerrit - the friendly Code Review server

父节点
e1d7e0ecc9
当前提交
25f1b0434b
@@ -649,7 +649,7 @@ static int dp_srng_setup(struct dp_soc *soc, struct dp_srng *srng,
|
||||
ring_params.intr_timer_thres_us =
|
||||
wlan_cfg_get_int_timer_threshold_other(soc->wlan_cfg_ctx);
|
||||
ring_params.intr_batch_cntr_thres_entries =
|
||||
wlan_cfg_get_int_timer_threshold_other(soc->wlan_cfg_ctx);
|
||||
wlan_cfg_get_int_batch_threshold_other(soc->wlan_cfg_ctx);
|
||||
}
|
||||
|
||||
/* Enable low threshold interrupts for rx buffer rings (regular and
|
||||
@@ -1512,8 +1512,8 @@ static void dp_hw_link_desc_pool_cleanup(struct dp_soc *soc)
|
||||
#define REO_REINJECT_RING_SIZE 32
|
||||
#define RX_RELEASE_RING_SIZE 1024
|
||||
#define REO_EXCEPTION_RING_SIZE 128
|
||||
#define REO_CMD_RING_SIZE 32
|
||||
#define REO_STATUS_RING_SIZE 32
|
||||
#define REO_CMD_RING_SIZE 64
|
||||
#define REO_STATUS_RING_SIZE 128
|
||||
#define RXDMA_BUF_RING_SIZE 1024
|
||||
#define RXDMA_REFILL_RING_SIZE 4096
|
||||
#define RXDMA_MONITOR_BUF_RING_SIZE 4096
|
||||
|
在新工单中引用
屏蔽一个用户