qcacmn: Skip sanity of sw_cookie in RX error for KIWI

Currently the sw_cookie is validated in RX error path
using the pool_id logic, which is not valid for KIWI target.
Kiwi target has a different logic to assign rx sw_cookie, as
compared to other legacy chipsets.

Hence this sanity of sw_cookie fails always for RX error
packets on KIWI target, and these corresponding buffers are
never released/replenished back. Eventually as more RX error
packets are received, the device runs out of buffers in the
refill ring and induces a backpressure.

Hence disable this sanity check for sw_cookie in rx error
path for KIWI target.

Change-Id: I320fcb268c1fe24695daeb4677af6cc0cbc445ed
CRs-Fixed: 3228792
这个提交包含在:
Rakesh Pillai
2022-06-24 19:26:52 +05:30
提交者 Madan Koyyalamudi
父节点 edd1669c23
当前提交 4b31289715
修改 2 个文件,包含 2 行新增2 行删除

查看文件

@@ -656,7 +656,8 @@ dp_rx_cookie_reset_invalid_bit(hal_ring_desc_t ring_desc)
#endif /* QCA_HOST_MODE_WIFI_DISABLED */
#ifdef RX_DESC_MULTI_PAGE_ALLOC
#if defined(RX_DESC_MULTI_PAGE_ALLOC) && \
defined(DP_WAR_VALIDATE_RX_ERR_MSDU_COOKIE)
/**
* dp_rx_is_sw_cookie_valid() - check whether SW cookie valid
* @soc: dp soc ref

查看文件

@@ -2388,7 +2388,6 @@ dp_rx_err_process(struct dp_intr *int_ctx, struct dp_soc *soc,
hal_rx_reo_buf_paddr_get(soc->hal_soc, ring_desc, &hbi);
link_desc_va = dp_rx_cookie_2_link_desc_va(soc, &hbi);
num_msdus = 0;
hal_rx_msdu_list_get(soc->hal_soc, link_desc_va, &msdu_list,
&num_msdus);
if (!num_msdus ||