aboutsummaryrefslogtreecommitdiffstats
path: root/sound/drivers/serial-u16550.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/drivers/serial-u16550.c')
-rw-r--r--sound/drivers/serial-u16550.c14
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
1020static void __exit alsa_card_serial_exit(void) 1014static void __exit alsa_card_serial_exit(void)