diff options
author | Ariel Elior <ariele@broadcom.com> | 2013-05-27 00:08:26 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-05-28 00:41:49 -0400 |
commit | e09b74d0195496fdc2dbe106eaa55da48873876e (patch) | |
tree | 693b64de8a1390e4fe065f174e521266ed460e6b /drivers/net/ethernet/broadcom | |
parent | c48b22daa6062fff9eded311b4d6974c29b40487 (diff) |
bnx2x: Zero VFs starting MACs
Hypervisor/Supervisor should set the VF's MAC prior to its load;
Using a randomly generated MAC as a default is a bad practice.
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c index 7ed9cdfa115e..80982c38ae69 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | |||
@@ -11406,7 +11406,7 @@ static int bnx2x_init_bp(struct bnx2x *bp) | |||
11406 | if (rc) | 11406 | if (rc) |
11407 | return rc; | 11407 | return rc; |
11408 | } else { | 11408 | } else { |
11409 | random_ether_addr(bp->dev->dev_addr); | 11409 | eth_zero_addr(bp->dev->dev_addr); |
11410 | } | 11410 | } |
11411 | 11411 | ||
11412 | bnx2x_set_modes_bitmap(bp); | 11412 | bnx2x_set_modes_bitmap(bp); |
@@ -11865,6 +11865,10 @@ static int bnx2x_validate_addr(struct net_device *dev) | |||
11865 | { | 11865 | { |
11866 | struct bnx2x *bp = netdev_priv(dev); | 11866 | struct bnx2x *bp = netdev_priv(dev); |
11867 | 11867 | ||
11868 | /* query the bulletin board for mac address configured by the PF */ | ||
11869 | if (IS_VF(bp)) | ||
11870 | bnx2x_sample_bulletin(bp); | ||
11871 | |||
11868 | if (!bnx2x_is_valid_ether_addr(bp, dev->dev_addr)) { | 11872 | if (!bnx2x_is_valid_ether_addr(bp, dev->dev_addr)) { |
11869 | BNX2X_ERR("Non-valid Ethernet address\n"); | 11873 | BNX2X_ERR("Non-valid Ethernet address\n"); |
11870 | return -EADDRNOTAVAIL; | 11874 | return -EADDRNOTAVAIL; |