Re: [PATCH net] net: dsa: microchip: fix probe of I2C-connected KSZ8563

From: Andrew Lunn
Date: Fri Jan 20 2023 - 08:08:38 EST


On Fri, Jan 20, 2023 at 08:57:03AM +0100, Ahmad Fatoum wrote:
> Hello Arun,
>
> On 20.01.23 08:01, Arun.Ramadoss@xxxxxxxxxxxxx wrote:
> > Hi Ahmad,
> > On Thu, 2023-01-19 at 14:10 +0100, Ahmad Fatoum wrote:
> >> [You don't often get email from a.fatoum@xxxxxxxxxxxxxx. Learn why
> >> this is important at https://aka.ms/LearnAboutSenderIdentification ]
> >>
> >> EXTERNAL EMAIL: Do not click links or open attachments unless you
> >> know the content is safe
> >>
> >> Starting with commit eee16b147121 ("net: dsa: microchip: perform the
> >> compatibility check for dev probed"), the KSZ switch driver now bails
> >> out if it thinks the DT compatible doesn't match the actual chip:
> >>
> >> ksz9477-switch 1-005f: Device tree specifies chip KSZ9893 but found
> >> KSZ8563, please fix it!
> >>
> >> Problem is that the "microchip,ksz8563" compatible is associated
> >> with ksz_switch_chips[KSZ9893]. Same issue also affected the SPI
> >> driver
> >> for the same switch chip and was fixed in commit b44908095612
> >> ("net: dsa: microchip: add separate struct ksz_chip_data for KSZ8563
> >> chip").
> >>
> >> Reuse ksz_switch_chips[KSZ8563] introduced in aforementioned commit
> >> to get I2C-connected KSZ8563 probing again.
> >>
> >> Fixes: eee16b147121 ("net: dsa: microchip: perform the compatibility
> >> check for dev probed")
> >
> > In this commit, there is no KSZ8563 member in struct ksz_switch_chips.
> > Whether the fixes should be to this commit "net: dsa: microchip: add
> > separate struct ksz_chip_data for KSZ8563" where the member is
> > introduced.
>
> I disagree. eee16b147121 introduced the check that made my device
> not probe anymore, so that's what's referenced in Fixes:. Commit
> b44908095612 should have had a Fixes: pointing at eee16b147121
> as well, so users don't miss it. But if they miss it, they
> will notice this at build-time anyway.

So it sounds like two different fixes are needed? For recent kernels
this fix alone is sufficient. But for older kernels additional changes
are needed. Is it sufficient to backport existing patches, or are new
patches needed?

Please start fixing the current kernel. Once that is merged you can
post a fix for older kernels, referencing the merged fix.

Andrew