Messages in this thread | | | Date | Mon, 16 Jan 2023 16:32:21 +0100 | From | Andrew Lunn <> | Subject | Re: [PATCH v2] net: fec: manage corner deferred probe condition |
| |
> This is the setup of the corner case: > - FEC0 is the owner of MDIO bus, but its own PHY rely on a "delayed" GPIO > - FEC1 rely on FEC0 for MDIO communications > The sequence is something like this > - FEC0 probe start, but being the reset GPIO "delayed" it return EPROBE_DEFERRED > - FEC1 is successfully probed: being the MDIO bus still not owned, the driver assume > that the ownership must be assigned to the 1st one successfully probed, but no > MDIO node is actually present and no communication takes place.
So semantics of a phandle is that you expect what it points to, to exists. So if phy-handle points to a PHY, when you follow that pointer and find it missing, you should defer the probe. So this step should not succeed.
> - FEC0 is successfully probed, but MDIO bus is now assigned to FEC1 > and cannot and no communication takes place
Andrew
| |