Re: [PATCH] net: fec: Keep device numbering consistent with datasheet

From: David Miller
Date: Wed Sep 23 2020 - 16:31:50 EST


From: Stefan Riedmueller <s.riedmueller@xxxxxxxxx>
Date: Wed, 23 Sep 2020 16:25:28 +0200

> From: Christian Hemp <c.hemp@xxxxxxxxx>
>
> Make use of device tree alias for device enumeration to keep the device
> order consistent with the naming in the datasheet.
>
> Otherwise for the i.MX 6UL/ULL the ENET1 interface is enumerated as eth1
> and ENET2 as eth0.
>
> Signed-off-by: Christian Hemp <c.hemp@xxxxxxxxx>
> Signed-off-by: Stefan Riedmueller <s.riedmueller@xxxxxxxxx>

Device naming and ordering for networking devices was never, ever,
guaranteed.

Use udev or similar.

> @@ -3691,6 +3692,10 @@ fec_probe(struct platform_device *pdev)
>
> ndev->max_mtu = PKT_MAXBUF_SIZE - ETH_HLEN - ETH_FCS_LEN;
>
> + eth_id = of_alias_get_id(pdev->dev.of_node, "ethernet");
> + if (eth_id >= 0)
> + sprintf(ndev->name, "eth%d", eth_id);

You can't ever just write into ndev->name, what if another networking
device is already using that name?

This change is incorrect on many levels.