qcacmn: Set invalid bit in cookie for exception ring descriptor

On returning the msdu link descriptor to HW via WBM
release ring, the rx exception ring contents are not
zeroed. This could result in host reading stale ring
descriptor content in the scenario when HP is updated
even before the latest values are reflected in the ring
descriptor.

Fix is to set invalid bit in cookie for exception ring
descriptor and add cookie sanity check.

Change-Id: I01a294c92b260ebe8e584ef20e9550b1febec913
CRs-Fixed: 2730759
此提交包含在:
Yeshwanth Sriram Guntuka
2020-07-14 21:23:58 +05:30
提交者 snandini
父節點 199049f281
當前提交 8007762d6a
共有 4 個檔案被更改,包括 87 行新增8 行删除

查看文件

@@ -6051,6 +6051,8 @@ void dp_txrx_path_stats(struct dp_soc *soc)
soc->stats.rx.err.rejected);
DP_PRINT_STATS("Rx raw frame dropped: %d",
soc->stats.rx.err.raw_frm_drop);
DP_PRINT_STATS("Rx stale link desc cookie: %d",
pdev->soc->stats.rx.err.invalid_link_cookie);
DP_PRINT_STATS("Reo Statistics");
DP_PRINT_STATS("near_full: %u ", soc->stats.rx.near_full);
@@ -6598,6 +6600,9 @@ dp_print_soc_rx_stats(struct dp_soc *soc)
DP_PRINT_STATS("Rx err msdu rejected: %d",
soc->stats.rx.err.rejected);
DP_PRINT_STATS("Rx stale link desc cookie: %d",
soc->stats.rx.err.invalid_link_cookie);
for (i = 0; i < HAL_RXDMA_ERR_MAX; i++) {
index += qdf_snprint(&rxdma_error[index],
DP_RXDMA_ERR_LENGTH - index,