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)
committerDavid S. Miller <davem@davemloft.net>
Fri, 27 Oct 2017 15:02:44 +0000 (00:02 +0900)
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>
drivers/net/ethernet/broadcom/bnxt/bnxt.c

index ffc6c49..ef5a5e5 100644 (file)
@@ -7249,13 +7249,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);