From 25b2973426b77b34cc4caa230bf5edb2540bc89f Mon Sep 17 00:00:00 2001 From: Kulikov Vasiliy Date: Mon, 12 Jul 2010 04:52:33 +0000 Subject: [PATCH] --- yaml --- r: 203468 b: refs/heads/master c: 84c3b972f37a735dafc25c4c0d5fb98f99e1157a h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/depca.c | 29 +++++++++++++++++++++++------ 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index f084500af14f..0df6401d6608 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9e34a5b51684bc90ac827ec4ba339f3892632eac +refs/heads/master: 84c3b972f37a735dafc25c4c0d5fb98f99e1157a diff --git a/trunk/drivers/net/depca.c b/trunk/drivers/net/depca.c index bf66e9b3b19e..44c0694c1f4e 100644 --- a/trunk/drivers/net/depca.c +++ b/trunk/drivers/net/depca.c @@ -2061,18 +2061,35 @@ static int depca_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) static int __init depca_module_init (void) { - int err = 0; + int err = 0; #ifdef CONFIG_MCA - err = mca_register_driver (&depca_mca_driver); + err = mca_register_driver(&depca_mca_driver); + if (err) + goto err; #endif #ifdef CONFIG_EISA - err |= eisa_driver_register (&depca_eisa_driver); + err = eisa_driver_register(&depca_eisa_driver); + if (err) + goto err_mca; #endif - err |= platform_driver_register (&depca_isa_driver); - depca_platform_probe (); + err = platform_driver_register(&depca_isa_driver); + if (err) + goto err_eisa; - return err; + depca_platform_probe(); + return 0; + +err_eisa: +#ifdef CONFIG_EISA + eisa_driver_unregister(&depca_eisa_driver); +err_mca: +#endif +#ifdef CONFIG_MCA + mca_unregister_driver(&depca_mca_driver); +err: +#endif + return err; } static void __exit depca_module_exit (void)