diff options
Diffstat (limited to 'sound/drivers/serial-u16550.c')
-rw-r--r-- | sound/drivers/serial-u16550.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c index 1a7fbefe4740..c01b4c5118b9 100644 --- a/sound/drivers/serial-u16550.c +++ b/sound/drivers/serial-u16550.c | |||
@@ -996,10 +996,8 @@ static int __init alsa_card_serial_init(void) | |||
996 | continue; | 996 | continue; |
997 | device = platform_device_register_simple(SND_SERIAL_DRIVER, | 997 | device = platform_device_register_simple(SND_SERIAL_DRIVER, |
998 | i, NULL, 0); | 998 | i, NULL, 0); |
999 | if (IS_ERR(device)) { | 999 | if (IS_ERR(device)) |
1000 | err = PTR_ERR(device); | 1000 | continue; |
1001 | goto errout; | ||
1002 | } | ||
1003 | devices[i] = device; | 1001 | devices[i] = device; |
1004 | cards++; | 1002 | cards++; |
1005 | } | 1003 | } |
@@ -1007,14 +1005,10 @@ static int __init alsa_card_serial_init(void) | |||
1007 | #ifdef MODULE | 1005 | #ifdef MODULE |
1008 | printk(KERN_ERR "serial midi soundcard not found or device busy\n"); | 1006 | printk(KERN_ERR "serial midi soundcard not found or device busy\n"); |
1009 | #endif | 1007 | #endif |
1010 | err = -ENODEV; | 1008 | snd_serial_unregister_all(); |
1011 | goto errout; | 1009 | return -ENODEV; |
1012 | } | 1010 | } |
1013 | return 0; | 1011 | return 0; |
1014 | |||
1015 | errout: | ||
1016 | snd_serial_unregister_all(); | ||
1017 | return err; | ||
1018 | } | 1012 | } |
1019 | 1013 | ||
1020 | static void __exit alsa_card_serial_exit(void) | 1014 | static void __exit alsa_card_serial_exit(void) |