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
此提交包含在:
@@ -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,
|
||||
|
新增問題並參考
封鎖使用者