diff options
Diffstat (limited to 'sound/drivers/serial-u16550.c')
-rw-r--r-- | sound/drivers/serial-u16550.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c index 112ddf705402..1a7fbefe4740 100644 --- a/sound/drivers/serial-u16550.c +++ b/sound/drivers/serial-u16550.c | |||
@@ -789,6 +789,7 @@ static int __init snd_uart16550_create(struct snd_card *card, | |||
789 | 789 | ||
790 | if ((err = snd_uart16550_detect(uart)) <= 0) { | 790 | if ((err = snd_uart16550_detect(uart)) <= 0) { |
791 | printk(KERN_ERR "no UART detected at 0x%lx\n", iobase); | 791 | printk(KERN_ERR "no UART detected at 0x%lx\n", iobase); |
792 | snd_uart16550_free(uart); | ||
792 | return -ENODEV; | 793 | return -ENODEV; |
793 | } | 794 | } |
794 | 795 | ||
@@ -989,8 +990,10 @@ static int __init alsa_card_serial_init(void) | |||
989 | return err; | 990 | return err; |
990 | 991 | ||
991 | cards = 0; | 992 | cards = 0; |
992 | for (i = 0; i < SNDRV_CARDS && enable[i]; i++) { | 993 | for (i = 0; i < SNDRV_CARDS; i++) { |
993 | struct platform_device *device; | 994 | struct platform_device *device; |
995 | if (! enable[i]) | ||
996 | continue; | ||
994 | device = platform_device_register_simple(SND_SERIAL_DRIVER, | 997 | device = platform_device_register_simple(SND_SERIAL_DRIVER, |
995 | i, NULL, 0); | 998 | i, NULL, 0); |
996 | if (IS_ERR(device)) { | 999 | if (IS_ERR(device)) { |