From: Florian Fainelli Date: Wed, 12 Nov 2014 23:40:43 +0000 (-0800) Subject: net: systemport: fix tx work done in TX napi poll X-Git-Tag: v4.14-rc1~6335^2~201 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9dfa9a27b620640322588df399eb8f624b48d877;p=platform%2Fkernel%2Flinux-rpi.git net: systemport: fix tx work done in TX napi poll With commit d75b1ade567 ("net: less interrupt masking in NAPI") napi repoll is done only when work_done == budget. bcm_sysport_tx_poll() always returns 0 whether or not we completed the poll quantum. Fix this by returning either 0 when we did complete the TX ring reclaim, or budget to trigger a repoll. Fixes: d75b1ade567 ("net: less interrupt masking in NAPI") Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/broadcom/bcmsysport.c b/drivers/net/ethernet/broadcom/bcmsysport.c index 531bb7c..3cb2411 100644 --- a/drivers/net/ethernet/broadcom/bcmsysport.c +++ b/drivers/net/ethernet/broadcom/bcmsysport.c @@ -731,9 +731,11 @@ static int bcm_sysport_tx_poll(struct napi_struct *napi, int budget) napi_complete(napi); /* re-enable TX interrupt */ intrl2_1_mask_clear(ring->priv, BIT(ring->index)); + + return 0; } - return 0; + return budget; } static void bcm_sysport_tx_reclaim_all(struct bcm_sysport_priv *priv)