aboutsummaryrefslogtreecommitdiffstats
path: root/sound/isa/gus/gusextreme.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/isa/gus/gusextreme.c')
-rw-r--r--sound/isa/gus/gusextreme.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/sound/isa/gus/gusextreme.c b/sound/isa/gus/gusextreme.c
index 31dc20501d0c..aa312dee99c8 100644
--- a/sound/isa/gus/gusextreme.c
+++ b/sound/isa/gus/gusextreme.c
@@ -363,10 +363,8 @@ static int __init alsa_card_gusextreme_init(void)
363 continue; 363 continue;
364 device = platform_device_register_simple(GUSEXTREME_DRIVER, 364 device = platform_device_register_simple(GUSEXTREME_DRIVER,
365 i, NULL, 0); 365 i, NULL, 0);
366 if (IS_ERR(device)) { 366 if (IS_ERR(device))
367 err = PTR_ERR(device); 367 continue;
368 goto errout;
369 }
370 devices[i] = device; 368 devices[i] = device;
371 cards++; 369 cards++;
372 } 370 }
@@ -374,14 +372,10 @@ static int __init alsa_card_gusextreme_init(void)
374#ifdef MODULE 372#ifdef MODULE
375 printk(KERN_ERR "GUS Extreme soundcard not found or device busy\n"); 373 printk(KERN_ERR "GUS Extreme soundcard not found or device busy\n");
376#endif 374#endif
377 err = -ENODEV; 375 snd_gusextreme_unregister_all();
378 goto errout; 376 return -ENODEV;
379 } 377 }
380 return 0; 378 return 0;
381
382 errout:
383 snd_gusextreme_unregister_all();
384 return err;
385} 379}
386 380
387static void __exit alsa_card_gusextreme_exit(void) 381static void __exit alsa_card_gusextreme_exit(void)