]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
octeontx2-af: npc: Fix allmulticast skip logic for LBK and SDP VFs
authorRatheesh Kannoth <rkannoth@marvell.com>
Wed, 20 May 2026 04:30:36 +0000 (10:00 +0530)
committerJakub Kicinski <kuba@kernel.org>
Thu, 21 May 2026 15:12:59 +0000 (08:12 -0700)
When installing the allmulticast NPC rule, rvu_npc_install_allmulti_entry()
should skip LBK and SDP VFs (only CGX PF/VF may add the entry).  The
code combined is_lbk_vf() and is_sdp_vf() with logical AND, which is
never true for a single pcifunc, so the intended early return never ran.

Use logical OR instead.

Cc: Geetha sowjanya <gakula@marvell.com>
Fixes: ae703539f49d2 ("octeontx2-af: Cleanup loopback device checks")
Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
Link: https://patch.msgid.link/20260520043036.1523798-1-rkannoth@marvell.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c

index 3c814d157ab9883acde05c8fa53ac1f3207393a5..607d0cf1a778cd57e82c2f6401f778b4e2d88d79 100644 (file)
@@ -990,7 +990,7 @@ void rvu_npc_install_allmulti_entry(struct rvu *rvu, u16 pcifunc, int nixlf,
        u16 vf_func;
 
        /* Only CGX PF/VF can add allmulticast entry */
-       if (is_lbk_vf(rvu, pcifunc) && is_sdp_vf(rvu, pcifunc))
+       if (is_lbk_vf(rvu, pcifunc) || is_sdp_vf(rvu, pcifunc))
                return;
 
        blkaddr = rvu_get_blkaddr(rvu, BLKTYPE_NPC, 0);