diff options
| -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; |
