Bug 216320 - KSZ8794 operation broken

From: Thorsten Leemhuis
Date: Wed Aug 17 2022 - 09:36:57 EST


Hi, this is your Linux kernel regression tracker.

I noticed a regression report in bugzilla.kernel.org that afaics nobody
acted upon since it was reported. That's why I decided to forward it by
mail to those that afaics should handle this.

To quote from https://bugzilla.kernel.org/show_bug.cgi?id=216320 :

> After upgrading a Yocto build system from kernel 5.4 to 5.15, I found KSZ8794 switch operation was no longer functional. I got errors such as:
>
> Aug 1 22:23:17 tv999996 kern.err kernel: [ 10.770912] ksz8795-switch spi2.0: Unsupported interface: gmii, port: 0
> Aug 1 22:23:17 tv999996 kern.warn kernel: [ 10.777562] ksz8795-switch spi2.0 wan (uninitialized): validation of gmii with support 0000000,00000000,000062cf and advertisement 0000000,00000000,000062cf failed: -22
> Aug 1 22:23:17 tv999996 kern.err kernel: [ 10.792874] ksz8795-switch spi2.0 wan (uninitialized): failed to connect to PHY: -EINVAL
> Aug 1 22:23:17 tv999996 kern.err kernel: [ 10.800978] ksz8795-switch spi2.0 wan (uninitialized): error -22 setting up PHY for tree 0, switch 0, port 0
> Aug 1 22:23:17 tv999996 kern.err kernel: [ 10.829188] ksz8795-switch spi2.0: Unsupported interface: gmii, port: 1
> Aug 1 22:23:17 tv999996 kern.warn kernel: [ 10.835821] ksz8795-switch spi2.0 lan2 (uninitialized): validation of gmii with support 0000000,00000000,000062cf and advertisement 0000000,00000000,000062cf failed: -22
> Aug 1 22:23:17 tv999996 kern.err kernel: [ 10.851156] ksz8795-switch spi2.0 lan2 (uninitialized): failed to connect to PHY: -EINVAL
> Aug 1 22:23:17 tv999996 kern.err kernel: [ 10.859358] ksz8795-switch spi2.0 lan2 (uninitialized): error -22 setting up PHY for tree 0, switch 0, port 1
> Aug 1 22:23:17 tv999996 kern.err kernel: [ 10.892821] ksz8795-switch spi2.0: Unsupported interface: gmii, port: 2
> Aug 1 22:23:17 tv999996 kern.warn kernel: [ 10.899466] ksz8795-switch spi2.0 lan1 (uninitialized): validation of gmii with support 0000000,00000000,000062cf and advertisement 0000000,00000000,000062cf failed: -22
> Aug 1 22:23:17 tv999996 kern.err kernel: [ 10.914845] ksz8795-switch spi2.0 lan1 (uninitialized): failed to connect to PHY: -EINVAL
> Aug 1 22:23:17 tv999996 kern.err kernel: [ 10.923052] ksz8795-switch spi2.0 lan1 (uninitialized): error -22 setting up PHY for tree 0, switch 0, port 2
>
> I found that if I reverted commit 2c709e0bdad4d996ec8925b9ee6d5b97458708f1, "net: dsa: microchip: ksz8795: add phylink support", then it worked properly again. The errors I saw were due to the checks in ksz8_validate() that were added in the above commit.
Could somebody please take a look, especially if you're among the main
recipients of this mail and not just CCed?

Anyway, to ensure this is not forgotten I'll add it to the Linux kernel
regression tracking bot:

#regzbot introduced: 2c709e0bdad4d996ec8925b9ee6d5b97458708f1
https://bugzilla.kernel.org/show_bug.cgi?id=216320

This isn't a regression? This issue or a fix for it are already
discussed somewhere else? It was fixed already? You want to clarify when
the regression started to happen? Or point out I got the title or
something else totally wrong? Then just reply -- ideally with also
telling regzbot about it, as explained here:
https://linux-regtracking.leemhuis.info/tracked-regression/

Reminder for developers: When fixing the issue, add 'Link:' tags
pointing to the report in bugzilla, as the kernel's documentation calls
for; above page explains why this is important for tracked regressions.

Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)

P.S.: As the Linux kernel's regression tracker I deal with a lot of
reports and sometimes miss something important when writing mails like
this. If that's the case here, don't hesitate to tell me in a public
reply, it's in everyone's interest to set the public record straight.