diff mbox

net/faraday: Disallow using reversed MAC address from hardware

Message ID 1469064563-7192-1-git-send-email-gwshan@linux.vnet.ibm.com
State Superseded, archived
Delegated to: David Miller
Headers show

Commit Message

Gavin Shan July 21, 2016, 1:29 a.m. UTC
The initial MAC address is retrieved from hardware if it's not
provided by device-tree. The reserved MAC address from hardware
will be used if non-reserved MAC address is invalid. It will
cause mismatched MAC address seen by hardware and software.

This disallows using the reserved hardware MAC address to avoid
the mismatched MAC address seen by hardware and software.

Fixes: 113ce107afe9 ("net/faraday: Read MAC address from chip")
Suggested-by: David Laight <David.Laight@ACULAB.COM>
Suggested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
---
 drivers/net/ethernet/faraday/ftgmac100.c | 9 ---------
 1 file changed, 9 deletions(-)

Comments

Gavin Shan July 21, 2016, 1:38 a.m. UTC | #1
On Thu, Jul 21, 2016 at 11:29:23AM +1000, Gavin Shan wrote:
>The initial MAC address is retrieved from hardware if it's not
>provided by device-tree. The reserved MAC address from hardware
>will be used if non-reserved MAC address is invalid. It will
>cause mismatched MAC address seen by hardware and software.
>
>This disallows using the reserved hardware MAC address to avoid
>the mismatched MAC address seen by hardware and software.
>
>Fixes: 113ce107afe9 ("net/faraday: Read MAC address from chip")
>Suggested-by: David Laight <David.Laight@ACULAB.COM>
>Suggested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
>---

The "net-next" is missed from the subject. I will send a v2 to
fix it. Sorry for the noise.

Thanks,
Gavin

> drivers/net/ethernet/faraday/ftgmac100.c | 9 ---------
> 1 file changed, 9 deletions(-)
>
>diff --git a/drivers/net/ethernet/faraday/ftgmac100.c b/drivers/net/ethernet/faraday/ftgmac100.c
>index 2d4c7ea..36361f8 100644
>--- a/drivers/net/ethernet/faraday/ftgmac100.c
>+++ b/drivers/net/ethernet/faraday/ftgmac100.c
>@@ -163,15 +163,6 @@ static void ftgmac100_setup_mac(struct ftgmac100 *priv)
> 	mac[4] = (l >> 8) & 0xff;
> 	mac[5] = l & 0xff;
>
>-	if (!is_valid_ether_addr(mac)) {
>-		mac[5] = (m >> 8) & 0xff;
>-		mac[4] = m & 0xff;
>-		mac[3] = (l >> 24) & 0xff;
>-		mac[2] = (l >> 16) & 0xff;
>-		mac[1] = (l >>  8) & 0xff;
>-		mac[0] = l & 0xff;
>-	}
>-
> 	if (is_valid_ether_addr(mac)) {
> 		ether_addr_copy(priv->netdev->dev_addr, mac);
> 		dev_info(priv->dev, "Read MAC address %pM from chip\n", mac);
>-- 
>2.1.0
>
diff mbox

Patch

diff --git a/drivers/net/ethernet/faraday/ftgmac100.c b/drivers/net/ethernet/faraday/ftgmac100.c
index 2d4c7ea..36361f8 100644
--- a/drivers/net/ethernet/faraday/ftgmac100.c
+++ b/drivers/net/ethernet/faraday/ftgmac100.c
@@ -163,15 +163,6 @@  static void ftgmac100_setup_mac(struct ftgmac100 *priv)
 	mac[4] = (l >> 8) & 0xff;
 	mac[5] = l & 0xff;
 
-	if (!is_valid_ether_addr(mac)) {
-		mac[5] = (m >> 8) & 0xff;
-		mac[4] = m & 0xff;
-		mac[3] = (l >> 24) & 0xff;
-		mac[2] = (l >> 16) & 0xff;
-		mac[1] = (l >>  8) & 0xff;
-		mac[0] = l & 0xff;
-	}
-
 	if (is_valid_ether_addr(mac)) {
 		ether_addr_copy(priv->netdev->dev_addr, mac);
 		dev_info(priv->dev, "Read MAC address %pM from chip\n", mac);