Re: [PATCH net] net: phy: Keep PHY timing role
From: Andrew Lunn
Date: Thu Jul 23 2026 - 10:49:11 EST
On Thu, Jul 23, 2026 at 11:19:33AM +0000, Tobias Güntner wrote:
> Some tools leave master_slave_cfg at its default value (0 or
> MASTER_SLAVE_CFG_UNSUPPORTED). Depending on the PHY and its driver,
> a PHY may fall back to its default (bootstrap) timing role, which
> can prevent it from establishing a link.
>
> For example, consider a system with an Automotive Ethernet PHY DP83TG720.
> Let's assume that the PHY timing role is bootstrapped to "slave" mode,
> but was changed to "master" mode via ethtool or device tree overlay.
> Assume further that the timing role of the other peer is "slave" mode.
>
> When trying to (re-)establish a link (e.g., after unplugging the cable),
> management services (such as NetworkManager) may change auto-negotiation
> settings and inadvertently reset the timing role if this setting is
> unsupported. Now both peers have the same "slave" timing role and cannot
> establish a link again until the timing role is changed back to "master"
> on one side.
Automotive Ethernet is special, because it often does not use
autoneg. If you are not using autoneg, you have to take special care
to correctly set these parameters on both ends.
My opinion on this is, if user space sets it to master, it should keep
as master, until user space changes it to something else.
You say, "inadvertently reset the timing role". That sounds like a
user space issue. The kernel should not be working around broken
user space.
Please could you give more details. Show us how this is a kernel
problem, and so needs a kernel fix.
Andrew