From: Michael Chan Date: Thu, 26 Oct 2017 15:51:24 +0000 (-0400) Subject: bnxt_en: Optimize .ndo_set_mac_address() for VFs. X-Git-Tag: v4.1.12-124.31.3~941 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=23b659dd3f2f12764066660296cebeef86c89ab6;p=users%2Fjedix%2Flinux-maple.git bnxt_en: Optimize .ndo_set_mac_address() for VFs. Orabug: 27648355, 27648339 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 Signed-off-by: David S. Miller (cherry picked from commit c1a7bdff17247332ecff7f243e42d269b3f74c65) Signed-off-by: Brian Maly Reviewed-by: Jack Vogel --- diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index f132d5096314..c5c667d8591e 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -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);