diff options
Diffstat (limited to 'sound/isa/sb/sb16.c')
-rw-r--r-- | sound/isa/sb/sb16.c | 14 |
1 files changed, 4 insertions, 10 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 | ||
758 | static void __exit alsa_card_sb16_exit(void) | 752 | static void __exit alsa_card_sb16_exit(void) |