diff options
Diffstat (limited to 'drivers/net/depca.c')
-rw-r--r-- | drivers/net/depca.c | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/drivers/net/depca.c b/drivers/net/depca.c index bf66e9b3b19e..44c0694c1f4e 100644 --- a/drivers/net/depca.c +++ b/drivers/net/depca.c | |||
@@ -2061,18 +2061,35 @@ static int depca_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) | |||
2061 | 2061 | ||
2062 | static int __init depca_module_init (void) | 2062 | static int __init depca_module_init (void) |
2063 | { | 2063 | { |
2064 | int err = 0; | 2064 | int err = 0; |
2065 | 2065 | ||
2066 | #ifdef CONFIG_MCA | 2066 | #ifdef CONFIG_MCA |
2067 | err = mca_register_driver (&depca_mca_driver); | 2067 | err = mca_register_driver(&depca_mca_driver); |
2068 | if (err) | ||
2069 | goto err; | ||
2068 | #endif | 2070 | #endif |
2069 | #ifdef CONFIG_EISA | 2071 | #ifdef CONFIG_EISA |
2070 | err |= eisa_driver_register (&depca_eisa_driver); | 2072 | err = eisa_driver_register(&depca_eisa_driver); |
2073 | if (err) | ||
2074 | goto err_mca; | ||
2071 | #endif | 2075 | #endif |
2072 | err |= platform_driver_register (&depca_isa_driver); | 2076 | err = platform_driver_register(&depca_isa_driver); |
2073 | depca_platform_probe (); | 2077 | if (err) |
2078 | goto err_eisa; | ||
2074 | 2079 | ||
2075 | return err; | 2080 | depca_platform_probe(); |
2081 | return 0; | ||
2082 | |||
2083 | err_eisa: | ||
2084 | #ifdef CONFIG_EISA | ||
2085 | eisa_driver_unregister(&depca_eisa_driver); | ||
2086 | err_mca: | ||
2087 | #endif | ||
2088 | #ifdef CONFIG_MCA | ||
2089 | mca_unregister_driver(&depca_mca_driver); | ||
2090 | err: | ||
2091 | #endif | ||
2092 | return err; | ||
2076 | } | 2093 | } |
2077 | 2094 | ||
2078 | static void __exit depca_module_exit (void) | 2095 | static void __exit depca_module_exit (void) |