]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
bnxt_en: Fix deleting of Ntuple filters
authorPavan Chebbi <pavan.chebbi@broadcom.com>
Thu, 19 Feb 2026 18:53:12 +0000 (10:53 -0800)
committerSasha Levin <sashal@kernel.org>
Wed, 4 Mar 2026 12:20:53 +0000 (07:20 -0500)
[ Upstream commit c1bbd9900d65ac65b9fce9f129e3369a04871570 ]

Ntuple filters can be deleted when the interface
is down. The current code blindly sends the filter
delete command to FW. When the interface is down, all
the VNICs are deleted in the FW. When the VNIC is
freed in the FW, all the associated filters are also
freed. We need not send the free command explicitly.
Sending such command will generate FW error in the
dmesg.

In order to fix this, we can safely return from
bnxt_hwrm_cfa_ntuple_filter_free() when BNXT_STATE_OPEN
is not true which confirms the VNICs have been deleted.

Fixes: 8336a974f37d ("bnxt_en: Save user configured filters in a lookup list")
Suggested-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: Pavan Chebbi <pavan.chebbi@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Link: https://patch.msgid.link/20260219185313.2682148-3-michael.chan@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt.c

index 64832289e18d0f59ec3621f92bf6df496788d1f1..c4657bb3acc18edb5873dc3ffcfd35d757db0a92 100644 (file)
@@ -6212,6 +6212,9 @@ int bnxt_hwrm_cfa_ntuple_filter_free(struct bnxt *bp,
        int rc;
 
        set_bit(BNXT_FLTR_FW_DELETED, &fltr->base.state);
+       if (!test_bit(BNXT_STATE_OPEN, &bp->state))
+               return 0;
+
        rc = hwrm_req_init(bp, req, HWRM_CFA_NTUPLE_FILTER_FREE);
        if (rc)
                return rc;