bnx2x: Correct logic for pvid configuration.
authorYuval Mintz <Yuval.Mintz@qlogic.com>
Sun, 2 Aug 2015 09:42:41 +0000 (12:42 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 3 Aug 2015 00:18:24 +0000 (17:18 -0700)
Commit 05cc5a39ddb7 ("bnx2x: add vlan filtering offload") has introduced
an incorrect logic for checking whether pvid should be configured for
a vf, causing the hypervisor driver to send unneeded ramrods for all of
the vfs each time a pvid has changed.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com>
Signed-off-by: Ariel Elior <Ariel.Elior@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c

index ec82831..9d02734 100644 (file)
@@ -2528,7 +2528,7 @@ void bnx2x_pf_set_vfs_vlan(struct bnx2x *bp)
        DP(BNX2X_MSG_IOV, "configuring vlan for VFs from sp-task\n");
        for_each_vf(bp, vfidx) {
                bulletin = BP_VF_BULLETIN(bp, vfidx);
-               if (bulletin->valid_bitmap & VLAN_VALID)
+               if (bulletin->valid_bitmap & (1 << VLAN_VALID))
                        bnx2x_set_vf_vlan(bp->dev, vfidx, bulletin->vlan, 0);
        }
 }