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?