Messages in this thread | | | Date | Fri, 19 Jun 2020 14:30:40 +0100 | From | Russell King - ARM Linux admin <> | Subject | Re: [PATCH net 2/2] net: phy: Check harder for errors in get_phy_id() |
| |
On Fri, Jun 19, 2020 at 03:26:59PM +0200, Andrew Lunn wrote: > On Thu, Jun 18, 2020 at 09:47:59PM -0700, Florian Fainelli wrote: > > Commit 02a6efcab675 ("net: phy: allow scanning busses with missing > > phys") added a special condition to return -ENODEV in case -ENODEV or > > -EIO was returned from the first read of the MII_PHYSID1 register. > > > > In case the MDIO bus data line pull-up is not strong enough, the MDIO > > bus controller will not flag this as a read error. This can happen when > > a pluggable daughter card is not connected and weak internal pull-ups > > are used (since that is the only option, otherwise the pins are > > floating). > > > > The second read of MII_PHYSID2 will be correctly flagged an error > > though, but now we will return -EIO which will be treated as a hard > > error, thus preventing MDIO bus scanning loops to continue succesfully. > > > > Apply the same logic to both register reads, thus allowing the scanning > > logic to proceed. > > Hi Florian > > Maybe extend the kerneldoc for this function to document the return > values and there special meanings?
You mean like the patch I sent yesterday?
> BTW: Did you look at get_phy_c45_ids()? Is it using the correct return > value? Given the current work being done to extend scanning to C45, > maybe it needs reviewing for issues like this.
And the updates I sent for this yesterday? ;)
-- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
| |