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)) { | 
