diff options
author | Michael Chan | 2016-04-11 10:11:13 +0200 |
---|---|---|
committer | David S. Miller | 2016-04-11 20:58:45 +0200 |
commit | 84c33dd342ad596a271a61da0119bf34e80bb1c5 (patch) | |
tree | c3ab2aa2830cf5e9475eec3b249c8e477f1adb87 /drivers/net/ethernet/broadcom/bnxt/bnxt.c | |
parent | bnxt_en: Shutdown link when device is closed. (diff) | |
download | kernel-qcow2-linux-84c33dd342ad596a271a61da0119bf34e80bb1c5.tar.gz kernel-qcow2-linux-84c33dd342ad596a271a61da0119bf34e80bb1c5.tar.xz kernel-qcow2-linux-84c33dd342ad596a271a61da0119bf34e80bb1c5.zip |
bnxt_en: Call firmware to approve VF MAC address change.
Some hypervisors (e.g. ESX) require the VF MAC address to be forwarded to
the PF for approval. In Linux PF, the call is not forwarded and the
firmware will simply check and approve the MAC address if the PF has not
previously administered a valid MAC address for this VF.
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnxt/bnxt.c')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index e874a564f40b..c83a5a1862d0 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -5696,10 +5696,9 @@ static int bnxt_change_mac_addr(struct net_device *dev, void *p) if (!is_valid_ether_addr(addr->sa_data)) return -EADDRNOTAVAIL; -#ifdef CONFIG_BNXT_SRIOV - if (BNXT_VF(bp) && is_valid_ether_addr(bp->vf.mac_addr)) - return -EADDRNOTAVAIL; -#endif + rc = bnxt_approve_mac(bp, addr->sa_data); + if (rc) + return rc; if (ether_addr_equal(addr->sa_data, dev->dev_addr)) return 0; |