aboutsummaryrefslogtreecommitdiffstats
path: root/sound/isa/gus/gusclassic.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/isa/gus/gusclassic.c')
-rw-r--r--sound/isa/gus/gusclassic.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/sound/isa/gus/gusclassic.c b/sound/isa/gus/gusclassic.c
index 26dccfea2437..ed34427c49db 100644
--- a/sound/isa/gus/gusclassic.c
+++ b/sound/isa/gus/gusclassic.c
@@ -253,10 +253,8 @@ static int __init alsa_card_gusclassic_init(void)
253 continue; 253 continue;
254 device = platform_device_register_simple(GUSCLASSIC_DRIVER, 254 device = platform_device_register_simple(GUSCLASSIC_DRIVER,
255 i, NULL, 0); 255 i, NULL, 0);
256 if (IS_ERR(device)) { 256 if (IS_ERR(device))
257 err = PTR_ERR(device); 257 continue;
258 goto errout;
259 }
260 devices[i] = device; 258 devices[i] = device;
261 cards++; 259 cards++;
262 } 260 }
@@ -264,14 +262,10 @@ static int __init alsa_card_gusclassic_init(void)
264#ifdef MODULE 262#ifdef MODULE
265 printk(KERN_ERR "GUS Classic soundcard not found or device busy\n"); 263 printk(KERN_ERR "GUS Classic soundcard not found or device busy\n");
266#endif 264#endif
267 err = -ENODEV; 265 snd_gusclassic_unregister_all();
268 goto errout; 266 return -ENODEV;
269 } 267 }
270 return 0; 268 return 0;
271
272 errout:
273 snd_gusclassic_unregister_all();
274 return err;
275} 269}
276 270
277static void __exit alsa_card_gusclassic_exit(void) 271static void __exit alsa_card_gusclassic_exit(void)