On Wed, Sep 11, 2024 at 05:09:08PM +0000, Sverdlin, Alexander wrote: > On Wed, 2024-09-11 at 19:04 +0200, Alexander Sverdlin wrote: > > > > The difference between that and this is the extra lan9303_disable_processing_port() > > > > calls here. But while that does disable RX on switch ports, it still doesn't wait > > > > for pending RX frames to be processed. So the race is still open. No? > > > > besides from the below, I've expected this question... In the meanwhile I've tested > > mv88e6xxx driver, but it (accidentally) has no MDIO race vs shutdown. > > After some shallow review of the drivers I didn't find dev_get_drvdata <= mdio_read > > pattern therefore I've posted this tested patch. > > > > If you'd prefer to solve this centrally for all drivers, I can test your patch from > > the MDIO-drvdata PoV. > > But this would mean throwing away the whole > "net: dsa: be compatible with masters which unregister on shutdown" work? I did not propose anything (yet). I'm still trying to form a mental model of what is broken and what works. Hence the request to test that change. OTOH, this patch is equally throwing away the whole "net: dsa: be compatible with masters which unregister on shutdown" work (for lan9303).