]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
bnxt_en: Optimize .ndo_set_mac_address() for VFs.
authorMichael Chan <michael.chan@broadcom.com>
Thu, 26 Oct 2017 15:51:24 +0000 (11:51 -0400)
committerJack Vogel <jack.vogel@oracle.com>
Fri, 9 Mar 2018 05:00:22 +0000 (21:00 -0800)
Orabug: 2764835527648339

No need to call bnxt_approve_mac() which will send a message to the
PF if the MAC address hasn't changed.

Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit c1a7bdff17247332ecff7f243e42d269b3f74c65)
Signed-off-by: Brian Maly <brian.maly@oracle.com>
Reviewed-by: Jack Vogel <jack.vogel@oracle.com>
drivers/net/ethernet/broadcom/bnxt/bnxt.c

index f132d50963141ea8c481b8932c3314c9e9795080..c5c667d8591ee7cbb7fc9cdbeebbc266341646f4 100644 (file)
@@ -7210,13 +7210,13 @@ static int bnxt_change_mac_addr(struct net_device *dev, void *p)
        if (!is_valid_ether_addr(addr->sa_data))
                return -EADDRNOTAVAIL;
 
+       if (ether_addr_equal(addr->sa_data, dev->dev_addr))
+               return 0;
+
        rc = bnxt_approve_mac(bp, addr->sa_data);
        if (rc)
                return rc;
 
-       if (ether_addr_equal(addr->sa_data, dev->dev_addr))
-               return 0;
-
        memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
        if (netif_running(dev)) {
                bnxt_close_nic(bp, false, false);