diff options
Diffstat (limited to 'sound/isa/cs423x/cs4236.c')
-rw-r--r-- | sound/isa/cs423x/cs4236.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/sound/isa/cs423x/cs4236.c b/sound/isa/cs423x/cs4236.c index 382bb17ef49f..b07a62b76175 100644 --- a/sound/isa/cs423x/cs4236.c +++ b/sound/isa/cs423x/cs4236.c | |||
@@ -780,10 +780,8 @@ static int __init alsa_card_cs423x_init(void) | |||
780 | continue; | 780 | continue; |
781 | device = platform_device_register_simple(CS423X_DRIVER, | 781 | device = platform_device_register_simple(CS423X_DRIVER, |
782 | i, NULL, 0); | 782 | i, NULL, 0); |
783 | if (IS_ERR(device)) { | 783 | if (IS_ERR(device)) |
784 | err = PTR_ERR(device); | 784 | continue; |
785 | goto errout; | ||
786 | } | ||
787 | platform_devices[i] = device; | 785 | platform_devices[i] = device; |
788 | snd_cs423x_devices++; | 786 | snd_cs423x_devices++; |
789 | } | 787 | } |
@@ -802,14 +800,10 @@ static int __init alsa_card_cs423x_init(void) | |||
802 | #ifdef MODULE | 800 | #ifdef MODULE |
803 | printk(KERN_ERR IDENT " soundcard not found or device busy\n"); | 801 | printk(KERN_ERR IDENT " soundcard not found or device busy\n"); |
804 | #endif | 802 | #endif |
805 | err = -ENODEV; | 803 | snd_cs423x_unregister_all(); |
806 | goto errout; | 804 | return -ENODEV; |
807 | } | 805 | } |
808 | return 0; | 806 | return 0; |
809 | |||
810 | errout: | ||
811 | snd_cs423x_unregister_all(); | ||
812 | return err; | ||
813 | } | 807 | } |
814 | 808 | ||
815 | static void __exit alsa_card_cs423x_exit(void) | 809 | static void __exit alsa_card_cs423x_exit(void) |