On 02/03/2017 01:54 AM, Russell King - ARM Linux wrote: > On Thu, Feb 02, 2017 at 09:54:07PM -0500, David Miller wrote: >> Hot plugging PHYs and notifications and all of that business is >> net-next material. > > I was talking more about unbinding of the driver, which is something > that can be done today, eg: > > $ ls -l /sys/bus/mdio_bus/drivers/Atheros\ 8035\ ethernet/ > total 0 > lrwxrwxrwx 1 root root 0 Feb 3 09:49 2188000.ethernet:00 -> > ../../../../devices/soc0/soc/2100000.aips-bus/2188000.ethernet/mdio_bus/2188000.ethernet/2188000.ethernet:00 > --w------- 1 root root 4096 Feb 3 09:49 bind > --w------- 1 root root 4096 Feb 3 09:49 uevent > --w------- 1 root root 4096 Feb 3 09:49 unbind > $ echo 2188000.ethernet:00 > /sys/bus/mdio_bus/drivers/Atheros\ 8035\ > ethernet/unbind > > is all it takes, and the same oops will happen. Try it on a box > you don't care about crashing. :) > > This is my point - locking the module into the kernel using > try_module_get() doesn't actually fix the problem where drivers are > concerned, it just has the illusion of being safe.
I have some patches for that too, along with making bind, unbind work again, because the state machine seems to be hosed (another thing that was very well tested...). -- Florian