[PATCH net-next] bnx2x: Correct logic for pvid configuration.

Subsystems: broadcom bnx2x 10 gigabit ethernet driver, networking drivers, the rest

STALE4022d

2 messages, 2 authors, 2015-08-03 · open the first message on its own page

[PATCH net-next] bnx2x: Correct logic for pvid configuration.

From: Yuval Mintz <hidden>
Date: 2015-08-02 09:42:56

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 <redacted>
Signed-off-by: Yuval Mintz <redacted>
Signed-off-by: Ariel Elior <redacted>
---
Looks like this has been hidden by the fact that
VLAN_VALID == (1 << MAC_ADDR_VALID).
Since MAC is almost always set by the hypervisor it simply caused
additional ramrods to be sent instead of preventing the feature.
---
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c
index ec82831..9d02734 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c
@@ -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);
 	}
 }
-- 
1.9.3

Re: [PATCH net-next] bnx2x: Correct logic for pvid configuration.

From: David Miller <davem@davemloft.net>
Date: 2015-08-03 00:18:57

From: Yuval Mintz <redacted>
Date: Sun, 2 Aug 2015 12:42:41 +0300
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 <redacted>
Signed-off-by: Yuval Mintz <redacted>
Signed-off-by: Ariel Elior <redacted>
---
Looks like this has been hidden by the fact that
VLAN_VALID == (1 << MAC_ADDR_VALID).
Since MAC is almost always set by the hypervisor it simply caused
additional ramrods to be sent instead of preventing the feature.
Applied, thank you.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help