diff options
author | Rene Herman <rene.herman@keyaccess.nl> | 2006-04-11 16:08:33 +0400 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2006-04-12 13:55:30 +0400 |
commit | d0ac642d76c79c5cc673c4cdfe43e926379784e1 (patch) | |
tree | 676e529b860634706ff98978d0328a71e584bc4f /sound/isa/sscape.c | |
parent | 12831c15f35dcc9f55fa63d50fd4892c7c6a0a1c (diff) | |
download | linux-d0ac642d76c79c5cc673c4cdfe43e926379784e1.tar.xz |
[ALSA] continue on IS_ERR from platform device registration
Continue with the next one on error from device registration.
This would seem the correct thing to do, even if it's not the probe()
error that we're getting.
Signed-off-by: Rene Herman <rene.herman@keyaccess.nl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/isa/sscape.c')
-rw-r--r-- | sound/isa/sscape.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/sound/isa/sscape.c b/sound/isa/sscape.c index 48e5552d3444..532f6e0eff0b 100644 --- a/sound/isa/sscape.c +++ b/sound/isa/sscape.c @@ -1427,8 +1427,8 @@ static int __init sscape_manual_probe(void) dma[i] == SNDRV_AUTO_DMA) { printk(KERN_INFO "sscape: insufficient parameters, need IO, IRQ, MPU-IRQ and DMA\n"); - ret = -ENXIO; - goto errout; + sscape_unregister_all(); + return -ENXIO; } /* @@ -1436,17 +1436,11 @@ static int __init sscape_manual_probe(void) */ device = platform_device_register_simple(SSCAPE_DRIVER, i, NULL, 0); - if (IS_ERR(device)) { - ret = PTR_ERR(device); - goto errout; - } + if (IS_ERR(device)) + continue; platform_devices[i] = device; } return 0; - - errout: - sscape_unregister_all(); - return ret; } static void sscape_exit(void) |