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>
Signed-off-by: David S. Miller <davem@davemloft.net>
        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)