On Mon, Jan 22, 2024 at 02:24:57PM +0200, Vladimir Oltean wrote: > Hi Andrew, > > On Sat, Jan 20, 2024 at 08:21:25PM +0100, Andrew Lunn wrote: > > When there is no device on the bus for a given address, the pull up > > resistor on the data line results in the read returning 0xffff. The > > phylib core code understands this when scanning for devices on the > > bus, and a number of MDIO bus masters make use of this as a way to > > indicate they cannot perform the read. > > > > Make us of this as a minimal fix for stable where the mv88e6xxx > > s/us/use/ > > Also, what is the "proper" fix if this is the minimal one for stable? Hi Vladimir I have a patchset for net-next, once it opens. I looked at how C22 and C45 differ in handling error codes. C22 allows the MDIO bus driver to return -ENODEV to indicate its impossible for a device to be at a given address. The scan code then skips that address and continues to the next address. Current C45 code would turn that -ENODEV into an -EIO and consider it fatal. So i change the C45 code to allow for -ENODEV in the same way, and change the mv88e6xxx driver to return -ENODEV if there are is no C45 read op. Since making the handling of the error codes uniform is more than a simple fix, i decided on a minimal fix for net. Thanks for the comments on the commit message, i will address them soon. Andrew