|
Thomas Bogendoerfer |
04c679 |
From: Michael Chan <michael.chan@broadcom.com>
|
|
Thomas Bogendoerfer |
04c679 |
Date: Thu, 26 Oct 2017 11:51:24 -0400
|
|
Thomas Bogendoerfer |
04c679 |
Subject: bnxt_en: Optimize .ndo_set_mac_address() for VFs.
|
|
Thomas Bogendoerfer |
04c679 |
Patch-mainline: v4.15-rc1
|
|
Thomas Bogendoerfer |
04c679 |
Git-commit: c1a7bdff17247332ecff7f243e42d269b3f74c65
|
|
Thomas Bogendoerfer |
04c679 |
References: bsc#1050242 FATE#322914
|
|
Thomas Bogendoerfer |
04c679 |
|
|
Thomas Bogendoerfer |
04c679 |
No need to call bnxt_approve_mac() which will send a message to the
|
|
Thomas Bogendoerfer |
04c679 |
PF if the MAC address hasn't changed.
|
|
Thomas Bogendoerfer |
04c679 |
|
|
Thomas Bogendoerfer |
04c679 |
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
|
|
Thomas Bogendoerfer |
04c679 |
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Thomas Bogendoerfer |
04c679 |
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
|
|
Thomas Bogendoerfer |
04c679 |
---
|
|
Thomas Bogendoerfer |
04c679 |
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 6 +++---
|
|
Thomas Bogendoerfer |
04c679 |
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
Thomas Bogendoerfer |
04c679 |
|
|
Thomas Bogendoerfer |
04c679 |
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
|
|
Thomas Bogendoerfer |
04c679 |
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
|
|
Thomas Bogendoerfer |
04c679 |
@@ -7251,13 +7251,13 @@ static int bnxt_change_mac_addr(struct n
|
|
Thomas Bogendoerfer |
04c679 |
if (!is_valid_ether_addr(addr->sa_data))
|
|
Thomas Bogendoerfer |
04c679 |
return -EADDRNOTAVAIL;
|
|
Thomas Bogendoerfer |
04c679 |
|
|
Thomas Bogendoerfer |
04c679 |
+ if (ether_addr_equal(addr->sa_data, dev->dev_addr))
|
|
Thomas Bogendoerfer |
04c679 |
+ return 0;
|
|
Thomas Bogendoerfer |
04c679 |
+
|
|
Thomas Bogendoerfer |
04c679 |
rc = bnxt_approve_mac(bp, addr->sa_data);
|
|
Thomas Bogendoerfer |
04c679 |
if (rc)
|
|
Thomas Bogendoerfer |
04c679 |
return rc;
|
|
Thomas Bogendoerfer |
04c679 |
|
|
Thomas Bogendoerfer |
04c679 |
- if (ether_addr_equal(addr->sa_data, dev->dev_addr))
|
|
Thomas Bogendoerfer |
04c679 |
- return 0;
|
|
Thomas Bogendoerfer |
04c679 |
-
|
|
Thomas Bogendoerfer |
04c679 |
memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
|
|
Thomas Bogendoerfer |
04c679 |
if (netif_running(dev)) {
|
|
Thomas Bogendoerfer |
04c679 |
bnxt_close_nic(bp, false, false);
|