diff mbox series

[net-next] bnxt_en: cleanup DIM work on device shutdown

Message ID 1516980467-7893-1-git-send-email-andy@greyhouse.net
State Accepted, archived
Delegated to: David Miller
Headers show
Series [net-next] bnxt_en: cleanup DIM work on device shutdown | expand

Commit Message

Andy Gospodarek Jan. 26, 2018, 3:27 p.m. UTC
From: Andy Gospodarek <gospo@broadcom.com>

Make sure to cancel any pending work that might update driver coalesce
settings when taking down an interface.

Fixes: 6a8788f25625 ("bnxt_en: add support for software dynamic interrupt moderation")
Signed-off-by: Andy Gospodarek <gospo@broadcom.com>
Cc: Michael Chan <michael.chan@broadcom.com>
---
 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Comments

Michael Chan Jan. 26, 2018, 7:12 p.m. UTC | #1
On Fri, Jan 26, 2018 at 7:27 AM, Andy Gospodarek <andy@greyhouse.net> wrote:
>
> From: Andy Gospodarek <gospo@broadcom.com>
>
> Make sure to cancel any pending work that might update driver coalesce
> settings when taking down an interface.
>
> Fixes: 6a8788f25625 ("bnxt_en: add support for software dynamic interrupt moderation")
> Signed-off-by: Andy Gospodarek <gospo@broadcom.com>
> Cc: Michael Chan <michael.chan@broadcom.com>

Acked-by: Michael Chan <michael.chan@broadcom.com>
David Miller Jan. 29, 2018, 7:20 p.m. UTC | #2
From: Andy Gospodarek <andy@greyhouse.net>
Date: Fri, 26 Jan 2018 10:27:47 -0500

> From: Andy Gospodarek <gospo@broadcom.com>
> 
> Make sure to cancel any pending work that might update driver coalesce
> settings when taking down an interface.
> 
> Fixes: 6a8788f25625 ("bnxt_en: add support for software dynamic interrupt moderation")
> Signed-off-by: Andy Gospodarek <gospo@broadcom.com>
> Cc: Michael Chan <michael.chan@broadcom.com>

Applied, thank you.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index 4b001d2..1500243 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -6082,8 +6082,14 @@  static void bnxt_disable_napi(struct bnxt *bp)
 	if (!bp->bnapi)
 		return;
 
-	for (i = 0; i < bp->cp_nr_rings; i++)
+	for (i = 0; i < bp->cp_nr_rings; i++) {
+		struct bnxt_cp_ring_info *cpr = &bp->bnapi[i]->cp_ring;
+
+		if (bp->bnapi[i]->rx_ring)
+			cancel_work_sync(&cpr->dim.work);
+
 		napi_disable(&bp->bnapi[i]->napi);
+	}
 }
 
 static void bnxt_enable_napi(struct bnxt *bp)