Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b80bc6fb authored by Jakub Kicinski's avatar Jakub Kicinski Committed by Sasha Levin
Browse files

bnxt: disable napi before canceling DIM



[ Upstream commit 01cca6b9330ac7460de44eeeb3a0607f8aae69ff ]

napi schedules DIM, napi has to be disabled first,
then DIM canceled.

Noticed while reading the code.

Fixes: 0bc0b97f ("bnxt_en: cleanup DIM work on device shutdown")
Fixes: 6a8788f2 ("bnxt_en: add support for software dynamic interrupt moderation")
Reviewed-by: default avatarMichael Chan <michael.chan@broadcom.com>
Reviewed-by: default avatarEdwin Peer <edwin.peer@broadcom.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent fa0a75c4
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -6269,10 +6269,9 @@ static void bnxt_disable_napi(struct bnxt *bp)
	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;
		struct bnxt_cp_ring_info *cpr = &bp->bnapi[i]->cp_ring;


		napi_disable(&bp->bnapi[i]->napi);
		if (bp->bnapi[i]->rx_ring)
		if (bp->bnapi[i]->rx_ring)
			cancel_work_sync(&cpr->dim.work);
			cancel_work_sync(&cpr->dim.work);

		napi_disable(&bp->bnapi[i]->napi);
	}
	}
}
}