qcacmn: Enable napi to re-enable interrupts

When NAPI is busy processing Rx, interrupt is not re-enabled
and this causes CE2 and other pipes to become full and target asserts.
This patch enables napi to return after processing half of the descriptors.

Change-Id: I2ba443c388f1a9d36331c632bfb2fbbbe876228f
Crs-fixed: 1094034
This commit is contained in:
Nandha Kishore Easwaran
2016-11-24 13:31:19 +05:30
committed by qcabuildsw
parent d1141c298f
commit cbff9c9090
4 changed files with 25 additions and 2 deletions

View File

@@ -761,8 +761,11 @@ int hif_napi_poll(struct hif_opaque_softc *hif_ctx, struct napi_struct *napi,
if (0 == rc)
NAPI_DEBUG("%s:%d: nothing processed by CE. Completing NAPI",
__func__, __LINE__);
#ifdef NAPI_YIELD_BUDGET_BASED
if (ce_state && (ce_state->force_break || 0 == rc)) {
#else
if (ce_state && (!ce_check_rx_pending(ce_state) || 0 == rc)) {
#endif
napi_info->stats[cpu].napi_completes++;
hif_record_ce_desc_event(hif, ce_state->id, NAPI_COMPLETE,