From dcd38c8ebf9dea47aa9ced8a88c874801a020b15 Mon Sep 17 00:00:00 2001 From: Zumeng Chen Date: Fri, 18 Nov 2011 16:01:22 +0800 Subject: [PATCH 32/41] net: phy: fix wrong logic of ar71xx phy register In theory, these phy registers should be independent, so fix it. Signed-off-by: Zumeng Chen --- drivers/net/phy/micrel.c | 26 +++++++++++--------------- 1 files changed, 11 insertions(+), 15 deletions(-) diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index c0202f2..c04f4ba 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c @@ -227,33 +227,28 @@ static int __init ksphy_init(void) ret = phy_driver_register(&ks8001_driver); if (ret) - goto err1; + phy_driver_unregister(&ks8001_driver); ret = phy_driver_register(&ksz9021_driver); if (ret) - goto err2; + phy_driver_unregister(&ksz9021_driver); ret = phy_driver_register(&ks8737_driver); if (ret) - goto err3; + phy_driver_unregister(&ks8737_driver); + ret = phy_driver_register(&ks8041_driver); if (ret) - goto err4; + phy_driver_unregister(&ks8041_driver); + ret = phy_driver_register(&ks8051_driver); if (ret) - goto err5; + phy_driver_unregister(&ks8051_driver); - return 0; + ret = phy_driver_register(&ksz8041_driver); + if (ret) + phy_driver_unregister(&ksz8041_driver); -err5: - phy_driver_unregister(&ks8041_driver); -err4: - phy_driver_unregister(&ks8737_driver); -err3: - phy_driver_unregister(&ksz9021_driver); -err2: - phy_driver_unregister(&ks8001_driver); -err1: return ret; } @@ -264,6 +259,7 @@ static void __exit ksphy_exit(void) phy_driver_unregister(&ksz9021_driver); phy_driver_unregister(&ks8041_driver); phy_driver_unregister(&ks8051_driver); + phy_driver_unregister(&ksz8041_driver); } module_init(ksphy_init); -- 1.7.4.1