net: ethernet: renesas: rswitch: Fix getting mac address from device tree
authorYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Mon, 26 Dec 2022 07:13:28 +0000 (16:13 +0900)
committerDavid S. Miller <davem@davemloft.net>
Wed, 28 Dec 2022 10:09:50 +0000 (10:09 +0000)
To get mac address from device tree which is from each ethernet-port,
fix the first argument of of_get_ethdev_address().

Fixes: 3590918b5d07 ("net: ethernet: renesas: Add support for "Ethernet Switch"")
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/renesas/rswitch.c

index 473d86bdf97d6d7610adca12f540146d277d7591..6441892636dba2fd567c4f58225816f797b93acb 100644 (file)
@@ -1578,6 +1578,7 @@ static int rswitch_device_alloc(struct rswitch_private *priv, int index)
 {
        struct platform_device *pdev = priv->pdev;
        struct rswitch_device *rdev;
+       struct device_node *port;
        struct net_device *ndev;
        int err;
 
@@ -1606,7 +1607,9 @@ static int rswitch_device_alloc(struct rswitch_private *priv, int index)
 
        netif_napi_add(ndev, &rdev->napi, rswitch_poll);
 
-       err = of_get_ethdev_address(pdev->dev.of_node, ndev);
+       port = rswitch_get_port_node(rdev);
+       err = of_get_ethdev_address(port, ndev);
+       of_node_put(port);
        if (err) {
                if (is_valid_ether_addr(rdev->etha->mac_addr))
                        eth_hw_addr_set(ndev, rdev->etha->mac_addr);