From: Andrew Morton <[EMAIL PROTECTED]>

- Don't call eisa_driver_unregister() if eisa_driver_register() failed.

- Properly propagate error values.

Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 drivers/net/3c509.c |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff -puN drivers/net/3c509.c~3c509-bus-registration-fix drivers/net/3c509.c
--- devel/drivers/net/3c509.c~3c509-bus-registration-fix        2006-03-08 
00:05:52.000000000 -0800
+++ devel-akpm/drivers/net/3c509.c      2006-03-08 00:05:52.000000000 -0800
@@ -1574,6 +1574,7 @@ MODULE_LICENSE("GPL");
 
 static int __init el3_init_module(void)
 {
+       int ret = 0;
        el3_cards = 0;
 
        if (debug >= 0)
@@ -1589,14 +1590,16 @@ static int __init el3_init_module(void)
        }
 
 #ifdef CONFIG_EISA
-       if (eisa_driver_register (&el3_eisa_driver) < 0) {
-               eisa_driver_unregister (&el3_eisa_driver);
-       }
+       ret = eisa_driver_register(&el3_eisa_driver);
 #endif
 #ifdef CONFIG_MCA
-       mca_register_driver(&el3_mca_driver);
+       {
+               int err = mca_register_driver(&el3_mca_driver);
+               if (ret == 0)
+                       ret = err;
+       }
 #endif
-       return 0;
+       return ret;
 }
 
 static void __exit el3_cleanup_module(void)
_
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to