From: Gavin Shan Date: Thu, 21 Jul 2016 01:42:54 +0000 (+1000) Subject: net/faraday: Disallow using reversed MAC address from hardware X-Git-Tag: v4.8-rc1~140^2~53 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=e6c044f5f68e0071e94829c62dbb2549e44a09e9;p=karo-tx-linux.git net/faraday: Disallow using reversed MAC address from hardware 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 Suggested-by: Benjamin Herrenschmidt Signed-off-by: Gavin Shan Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/faraday/ftgmac100.c b/drivers/net/ethernet/faraday/ftgmac100.c index 2d4c7eab8b36..36361f8bf894 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);