Messages in this thread | | | Date | Sun, 12 Sep 2021 23:29:13 +0300 | From | Vladimir Oltean <> | Subject | Re: [PATCH 0/3] Fix for KSZ DSA switch shutdown |
| |
On Sun, Sep 12, 2021 at 10:19:24PM +0200, Lino Sanfilippo wrote: > > Hi, > > On 10.09.21 at 16:58, Vladimir Oltean wrote: > > On Fri, Sep 10, 2021 at 01:51:56PM +0200, Andrew Lunn wrote: > >>> It does not really scale but we also don't have that many DSA masters to > >>> support, I believe I can name them all: bcmgenet, stmmac, bcmsysport, enetc, > >>> mv643xx_eth, cpsw, macb. > >> > >> fec, mvneta, mvpp2, i210/igb. > > > > I can probably double that list only with Freescale/NXP Ethernet > > drivers, some of which are not even submitted to mainline. To name some > > mainline drivers: gianfar, dpaa-eth, dpaa2-eth, dpaa2-switch, ucc_geth. > > Also consider that DSA/switchdev drivers can also be DSA masters of > > their own, we have boards doing that too. > > > > Anyway, I've decided to at least try and accept the fact that DSA > > masters will unregister their net_device on shutdown, and attempt to do > > something sane for all DSA switches in that case. > > > > Attached are two patches (they are fairly big so I won't paste them > > inline, and I would like initial feedback before posting them to the > > list). > > > > As mentioned in those patches, the shutdown ordering guarantee is still > > very important, I still have no clue what goes on there, what we need to > > do, etc. > > > > I tested these patches with my 5.10 kernel (based on Gregs 5.10.27 stable > kernel) and while I do not see the message "unregister_netdevice: waiting > for eth0 to become free. Usage count = 2." any more the shutdown/reboot hangs, too. > After a few attempts without any error messages on the console I was able to get a > stack trace. Something still seems to go wrong in bcm2835_spi_shutdown() (see attachment). > I have not had the time yet to investigate this further (or to test the patches > with a newer kernel).
Could you post the full kernel output? The picture you've posted is truncated and only shows a WARN_ON in rpi_firmware_transaction and is probably a symptom and not the issue (which is above and not shown).
| |