Message ID | 20170902155645.19071-1-f.fainelli@gmail.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Series | [net] net: dsa: loop: Do not unregister invalid fixed PHY | expand |
On Sat, Sep 02, 2017 at 08:56:45AM -0700, Florian Fainelli wrote: > During error injection it was possible to crash in dsa_loop_exit() because of > an attempt to unregister an invalid PHY. We actually want to the driver probing > in dsa_loop_init() even though fixed_phy_register() may return an error to > exercise how DSA deals with such cases, but we should not be crashing during > driver removal. > > Fixes: 98cd1552ea27 ("net: dsa: Mock-up driver") > Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Andrew
From: Florian Fainelli <f.fainelli@gmail.com> Date: Sat, 2 Sep 2017 08:56:45 -0700 > During error injection it was possible to crash in dsa_loop_exit() because of > an attempt to unregister an invalid PHY. We actually want to the driver probing > in dsa_loop_init() even though fixed_phy_register() may return an error to > exercise how DSA deals with such cases, but we should not be crashing during > driver removal. > > Fixes: 98cd1552ea27 ("net: dsa: Mock-up driver") > Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Applied and queued up for -stable, thanks.
diff --git a/drivers/net/dsa/dsa_loop.c b/drivers/net/dsa/dsa_loop.c index fdd8f3872102..8150e3a3c8dd 100644 --- a/drivers/net/dsa/dsa_loop.c +++ b/drivers/net/dsa/dsa_loop.c @@ -390,7 +390,7 @@ static void __exit dsa_loop_exit(void) mdio_driver_unregister(&dsa_loop_drv); for (i = 0; i < NUM_FIXED_PHYS; i++) - if (phydevs[i]) + if (!IS_ERR(phydevs[i])) fixed_phy_unregister(phydevs[i]); } module_exit(dsa_loop_exit);
During error injection it was possible to crash in dsa_loop_exit() because of an attempt to unregister an invalid PHY. We actually want to the driver probing in dsa_loop_init() even though fixed_phy_register() may return an error to exercise how DSA deals with such cases, but we should not be crashing during driver removal. Fixes: 98cd1552ea27 ("net: dsa: Mock-up driver") Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> --- drivers/net/dsa/dsa_loop.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)