Commit 4f359b65 authored by Łukasz Stelmach's avatar Łukasz Stelmach Committed by David S. Miller

net/smscx5xx: change to of_get_mac_address() eth_platform_get_mac_address()

Use more generic eth_platform_get_mac_address() which can get a MAC
address from other than DT platform specific sources too. Check if the
obtained address is valid.
Signed-off-by: default avatarŁukasz Stelmach <l.stelmach@samsung.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a3d0ba88
...@@ -757,13 +757,14 @@ static int smsc75xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd) ...@@ -757,13 +757,14 @@ static int smsc75xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
static void smsc75xx_init_mac_address(struct usbnet *dev) static void smsc75xx_init_mac_address(struct usbnet *dev)
{ {
const u8 *mac_addr;
/* maybe the boot loader passed the MAC address in devicetree */ /* maybe the boot loader passed the MAC address in devicetree */
mac_addr = of_get_mac_address(dev->udev->dev.of_node); if (!eth_platform_get_mac_address(&dev->udev->dev,
if (!IS_ERR(mac_addr)) { dev->net->dev_addr)) {
ether_addr_copy(dev->net->dev_addr, mac_addr); if (is_valid_ether_addr(dev->net->dev_addr)) {
return; /* device tree values are valid so use them */
netif_dbg(dev, ifup, dev->net, "MAC address read from the device tree\n");
return;
}
} }
/* try reading mac address from EEPROM */ /* try reading mac address from EEPROM */
......
...@@ -755,13 +755,14 @@ static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd) ...@@ -755,13 +755,14 @@ static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
static void smsc95xx_init_mac_address(struct usbnet *dev) static void smsc95xx_init_mac_address(struct usbnet *dev)
{ {
const u8 *mac_addr;
/* maybe the boot loader passed the MAC address in devicetree */ /* maybe the boot loader passed the MAC address in devicetree */
mac_addr = of_get_mac_address(dev->udev->dev.of_node); if (!eth_platform_get_mac_address(&dev->udev->dev,
if (!IS_ERR(mac_addr)) { dev->net->dev_addr)) {
ether_addr_copy(dev->net->dev_addr, mac_addr); if (is_valid_ether_addr(dev->net->dev_addr)) {
return; /* device tree values are valid so use them */
netif_dbg(dev, ifup, dev->net, "MAC address read from the device tree\n");
return;
}
} }
/* try reading mac address from EEPROM */ /* try reading mac address from EEPROM */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment