[PATCH 3.16 044/254] can: ti_hecc: Fix napi poll return value for repoll

From: Ben Hutchings
Date: Wed Feb 28 2018 - 10:57:48 EST


3.16.55-rc1 review patch. If anyone has any objections, please let me know.

------------------

From: Oliver StÃbler <oliver.staebler@xxxxxxxxxxxxxx>

commit f6c23b174c3c96616514827407769cbcfc8005cf upstream.

After commit d75b1ade567f ("net: less interrupt masking in NAPI") napi
repoll is done only when work_done == budget.
So we need to return budget if there are still packets to receive.

Signed-off-by: Oliver StÃbler <oliver.staebler@xxxxxxxxxxxxxx>
Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
---
drivers/net/can/ti_hecc.c | 3 +++
1 file changed, 3 insertions(+)

--- a/drivers/net/can/ti_hecc.c
+++ b/drivers/net/can/ti_hecc.c
@@ -652,6 +652,9 @@ static int ti_hecc_rx_poll(struct napi_s
mbx_mask = hecc_read(priv, HECC_CANMIM);
mbx_mask |= HECC_TX_MBOX_MASK;
hecc_write(priv, HECC_CANMIM, mbx_mask);
+ } else {
+ /* repoll is done only if whole budget is used */
+ num_pkts = quota;
}

return num_pkts;