Re: [PATCH net] net: stmmac: platform: guarantee uniqueness of bus_id
From: Abhishek Chauhan (ABC) <hidden>
Date: 2025-06-02 17:56:56
Also in:
linux-arm-kernel, lkml
On 6/2/2025 2:38 AM, Quentin Schulz wrote:
Hi Abhishek, On 5/30/25 12:16 AM, Abhishek Chauhan (ABC) wrote:quoted
[Some people who received this message don't often get email from quic_abchauha@quicinc.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ] On 5/26/2025 1:26 PM, Paolo Abeni wrote:quoted
On 5/21/25 5:21 PM, Quentin Schulz wrote:quoted
From: Quentin Schulz <redacted> bus_id is currently derived from the ethernetX alias. If one is missing for the device, 0 is used. If ethernet0 points to another stmmac device or if there are 2+ stmmac devices without an ethernet alias, then bus_id will be 0 for all of those. This is an issue because the bus_id is used to generate the mdio bus id (new_bus->id in drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c stmmac_mdio_register) and this needs to be unique. This allows to avoid needing to define ethernet aliases for devices with multiple stmmac controllers (such as the Rockchip RK3588) for multiple stmmac devices to probe properly. Obviously, the bus_id isn't guaranteed to be stable across reboots if no alias is set for the device but that is easily fixed by simply adding an alias if this is desired. Signed-off-by: Quentin Schulz <redacted>I think no need to CC stable here, but you need to provide a suitable fixes tag, thanks!Quentin to make your life easy. It fixes this patch https://lore.kernel.org/lkml/1372930541-19409-1-git-send-email-srinivas.kandagatla@st.com/ (local) dt:net:stmmac: Add support to dwmac version 3.610 and 3.710 It goes back in time to 2013 when this bus_id was introduced through dtsFortunately, we ended up finding the same "culprit" (see v2 of my patch that got merged[1] :) ) [1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=eb7fd7aa35bfcc1e1fda4ecc42ccfcb526cdc780 Nice!. Anyway i really like this fix because mdio creates a directory and if there are 2+ macs the directory creation will fail because
two emac will have the same mdio directory names provided if someone forgets to mention alias in the dtsi.
Thanks! Quentin