qcacmn: fix REO2SW ring full issue

When reap data from REO2SW ring and if the TP catches up to cached
HP, current logic will update HP again and give a second chance to
reap data. but the TP is not updated to ring register, if more data
is received on this ring then HP easily catches up to TP and the ring
is full.
Update TP as well if HP get chance be updated.

Change-Id: I92f381d2a31f3be987866a829e05b5578098649a
CRs-Fixed: 2334435
此提交包含在:
Jinwei Chen
2018-11-21 10:18:27 +08:00
提交者 nshrivas
父節點 27fe1239d3
當前提交 40fafaf4b6

查看文件

@@ -1415,6 +1415,11 @@ uint32_t dp_rx_process(struct dp_intr *int_ctx, void *hal_ring,
if (!ring_desc)
break;
DP_STATS_INC(soc, rx.hp_oos, 1);
/*
* update TP here in case loop takes long,
* then the ring is easily full.
*/
hal_srng_access_end_unlocked(hal_soc, hal_ring);
}
error = HAL_RX_ERROR_STATUS_GET(ring_desc);