aboutsummaryrefslogtreecommitdiffstats
path: root/sound/isa/gus/gusmax.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/isa/gus/gusmax.c')
-rw-r--r--sound/isa/gus/gusmax.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/sound/isa/gus/gusmax.c b/sound/isa/gus/gusmax.c
index cafb9b67fa72..a733fabf653a 100644
--- a/sound/isa/gus/gusmax.c
+++ b/sound/isa/gus/gusmax.c
@@ -390,10 +390,8 @@ static int __init alsa_card_gusmax_init(void)
390 continue; 390 continue;
391 device = platform_device_register_simple(GUSMAX_DRIVER, 391 device = platform_device_register_simple(GUSMAX_DRIVER,
392 i, NULL, 0); 392 i, NULL, 0);
393 if (IS_ERR(device)) { 393 if (IS_ERR(device))
394 err = PTR_ERR(device); 394 continue;
395 goto errout;
396 }
397 devices[i] = device; 395 devices[i] = device;
398 cards++; 396 cards++;
399 } 397 }
@@ -401,14 +399,10 @@ static int __init alsa_card_gusmax_init(void)
401#ifdef MODULE 399#ifdef MODULE
402 printk(KERN_ERR "GUS MAX soundcard not found or device busy\n"); 400 printk(KERN_ERR "GUS MAX soundcard not found or device busy\n");
403#endif 401#endif
404 err = -ENODEV; 402 snd_gusmax_unregister_all();
405 goto errout; 403 return -ENODEV;
406 } 404 }
407 return 0; 405 return 0;
408
409 errout:
410 snd_gusmax_unregister_all();
411 return err;
412} 406}
413 407
414static void __exit alsa_card_gusmax_exit(void) 408static void __exit alsa_card_gusmax_exit(void)