Messages in this thread |  | | Date | Sun, 15 Jan 2023 22:56:33 +0100 | From | Andrew Lunn <> | Subject | Re: [PATCH v2] net: fec: manage corner deferred probe condition |
| |
On Sun, Jan 15, 2023 at 10:38:04PM +0100, Pierluigi Passaro wrote: > For dual fec interfaces, external phys can only be configured by fec0. > When the function of_mdiobus_register return -EPROBE_DEFER, the driver > is lately called to manage fec1, which wrongly register its mii_bus as > fec0_mii_bus. > When fec0 retry the probe, the previous assignement prevent the MDIO bus > registration. > Use a static boolean to trace the orginal MDIO bus deferred probe and > prevent further registrations until the fec0 registration completed > succesfully.
The real problem here seems to be that fep->dev_id is not deterministic. I think a better fix would be to make the mdio bus name deterministic. Use pdev->id instead of fep->dev_id + 1. That is what most mdiobus drivers use.
Andrew
|  |