summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/broadcom/bnxt/bnxt.c
diff options
context:
space:
mode:
authorMichael Chan2016-12-29 18:13:32 +0100
committerDavid S. Miller2016-12-29 20:37:23 +0100
commite7b9569102995ebc26821789628eef45bd9840d8 (patch)
treeefb874eb88f427d5192816e5d0ac1b7be6c91fe4 /drivers/net/ethernet/broadcom/bnxt/bnxt.c
parentbnxt_en: Remove busy poll logic in the driver. (diff)
downloadkernel-qcow2-linux-e7b9569102995ebc26821789628eef45bd9840d8.tar.gz
kernel-qcow2-linux-e7b9569102995ebc26821789628eef45bd9840d8.tar.xz
kernel-qcow2-linux-e7b9569102995ebc26821789628eef45bd9840d8.zip
bnxt_en: Use napi_complete_done()
For better busy polling and GRO support. Do not re-arm IRQ if napi_complete_done() returns false. Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnxt/bnxt.c')
-rw-r--r--drivers/net/ethernet/broadcom/bnxt/bnxt.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index b53f958ffcb8..3fbc8427be2e 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -1778,8 +1778,9 @@ static int bnxt_poll(struct napi_struct *napi, int budget)
break;
if (!bnxt_has_work(bp, cpr)) {
- napi_complete(napi);
- BNXT_CP_DB_REARM(cpr->cp_doorbell, cpr->cp_raw_cons);
+ if (napi_complete_done(napi, work_done))
+ BNXT_CP_DB_REARM(cpr->cp_doorbell,
+ cpr->cp_raw_cons);
break;
}
}