Re: [PATCH net v1] net: dsa: mv88e6xxx: Make unsupported C45 reads return 0xffff

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux