Commit 6d9c153a authored by Florian Fainelli's avatar Florian Fainelli Committed by David S. Miller

net: dsa: loop: Do not unregister invalid fixed PHY

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: 98cd1552 ("net: dsa: Mock-up driver")
Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 443cb3a3
...@@ -390,7 +390,7 @@ static void __exit dsa_loop_exit(void) ...@@ -390,7 +390,7 @@ static void __exit dsa_loop_exit(void)
mdio_driver_unregister(&dsa_loop_drv); mdio_driver_unregister(&dsa_loop_drv);
for (i = 0; i < NUM_FIXED_PHYS; i++) for (i = 0; i < NUM_FIXED_PHYS; i++)
if (phydevs[i]) if (!IS_ERR(phydevs[i]))
fixed_phy_unregister(phydevs[i]); fixed_phy_unregister(phydevs[i]);
} }
module_exit(dsa_loop_exit); module_exit(dsa_loop_exit);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment