aboutsummaryrefslogtreecommitdiffstats
path: root/sound/isa/sb
diff options
context:
space:
mode:
Diffstat (limited to 'sound/isa/sb')
-rw-r--r--sound/isa/sb/sb16.c14
-rw-r--r--sound/isa/sb/sb8.c14
2 files changed, 8 insertions, 20 deletions
diff --git a/sound/isa/sb/sb16.c b/sound/isa/sb/sb16.c
index 21ea65925a9e..24fa190f33ac 100644
--- a/sound/isa/sb/sb16.c
+++ b/sound/isa/sb/sb16.c
@@ -720,10 +720,8 @@ static int __init alsa_card_sb16_init(void)
720 continue; 720 continue;
721 device = platform_device_register_simple(SND_SB16_DRIVER, 721 device = platform_device_register_simple(SND_SB16_DRIVER,
722 i, NULL, 0); 722 i, NULL, 0);
723 if (IS_ERR(device)) { 723 if (IS_ERR(device))
724 err = PTR_ERR(device); 724 continue;
725 goto errout;
726 }
727 platform_devices[i] = device; 725 platform_devices[i] = device;
728 cards++; 726 cards++;
729 } 727 }
@@ -745,14 +743,10 @@ static int __init alsa_card_sb16_init(void)
745 snd_printk(KERN_ERR "In case, if you have AWE card, try snd-sbawe module\n"); 743 snd_printk(KERN_ERR "In case, if you have AWE card, try snd-sbawe module\n");
746#endif 744#endif
747#endif 745#endif
748 err = -ENODEV; 746 snd_sb16_unregister_all();
749 goto errout; 747 return -ENODEV;
750 } 748 }
751 return 0; 749 return 0;
752
753 errout:
754 snd_sb16_unregister_all();
755 return err;
756} 750}
757 751
758static void __exit alsa_card_sb16_exit(void) 752static void __exit alsa_card_sb16_exit(void)
diff --git a/sound/isa/sb/sb8.c b/sound/isa/sb/sb8.c
index 3efa23d303c3..f75eeb05c1fa 100644
--- a/sound/isa/sb/sb8.c
+++ b/sound/isa/sb/sb8.c
@@ -264,10 +264,8 @@ static int __init alsa_card_sb8_init(void)
264 continue; 264 continue;
265 device = platform_device_register_simple(SND_SB8_DRIVER, 265 device = platform_device_register_simple(SND_SB8_DRIVER,
266 i, NULL, 0); 266 i, NULL, 0);
267 if (IS_ERR(device)) { 267 if (IS_ERR(device))
268 err = PTR_ERR(device); 268 continue;
269 goto errout;
270 }
271 devices[i] = device; 269 devices[i] = device;
272 cards++; 270 cards++;
273 } 271 }
@@ -275,14 +273,10 @@ static int __init alsa_card_sb8_init(void)
275#ifdef MODULE 273#ifdef MODULE
276 snd_printk(KERN_ERR "Sound Blaster soundcard not found or device busy\n"); 274 snd_printk(KERN_ERR "Sound Blaster soundcard not found or device busy\n");
277#endif 275#endif
278 err = -ENODEV; 276 snd_sb8_unregister_all();
279 goto errout; 277 return -ENODEV;
280 } 278 }
281 return 0; 279 return 0;
282
283 errout:
284 snd_sb8_unregister_all();
285 return err;
286} 280}
287 281
288static void __exit alsa_card_sb8_exit(void) 282static void __exit alsa_card_sb8_exit(void)