aboutsummaryrefslogtreecommitdiffstats
path: root/sound/isa/sscape.c
diff options
context:
space:
mode:
authorRene Herman <rene.herman@keyaccess.nl>2006-04-11 08:08:33 -0400
committerJaroslav Kysela <perex@suse.cz>2006-04-12 05:55:30 -0400
commitd0ac642d76c79c5cc673c4cdfe43e926379784e1 (patch)
tree676e529b860634706ff98978d0328a71e584bc4f /sound/isa/sscape.c
parent12831c15f35dcc9f55fa63d50fd4892c7c6a0a1c (diff)
[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.c14
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)
1427 dma[i] == SNDRV_AUTO_DMA) { 1427 dma[i] == SNDRV_AUTO_DMA) {
1428 printk(KERN_INFO 1428 printk(KERN_INFO
1429 "sscape: insufficient parameters, need IO, IRQ, MPU-IRQ and DMA\n"); 1429 "sscape: insufficient parameters, need IO, IRQ, MPU-IRQ and DMA\n");
1430 ret = -ENXIO; 1430 sscape_unregister_all();
1431 goto errout; 1431 return -ENXIO;
1432 } 1432 }
1433 1433
1434 /* 1434 /*
@@ -1436,17 +1436,11 @@ static int __init sscape_manual_probe(void)
1436 */ 1436 */
1437 device = platform_device_register_simple(SSCAPE_DRIVER, 1437 device = platform_device_register_simple(SSCAPE_DRIVER,
1438 i, NULL, 0); 1438 i, NULL, 0);
1439 if (IS_ERR(device)) { 1439 if (IS_ERR(device))
1440 ret = PTR_ERR(device); 1440 continue;
1441 goto errout;
1442 }
1443 platform_devices[i] = device; 1441 platform_devices[i] = device;
1444 } 1442 }
1445 return 0; 1443 return 0;
1446
1447 errout:
1448 sscape_unregister_all();
1449 return ret;
1450} 1444}
1451 1445
1452static void sscape_exit(void) 1446static void sscape_exit(void)