提交 e6c044f5 编写于 作者: G Gavin Shan 提交者: David S. Miller

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: 113ce107 ("net/faraday: Read MAC address from chip")
Suggested-by: NDavid Laight <David.Laight@ACULAB.COM>
Suggested-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: NGavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 c0d661ca
......@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册