summaryrefslogtreecommitdiff
path: root/sound/isa/cs423x
diff options
context:
space:
mode:
authorRene Herman <rene.herman@keyaccess.nl>2006-04-11 12:09:37 (GMT)
committerJaroslav Kysela <perex@suse.cz>2006-04-12 09:55:32 (GMT)
commitdcccdd938ef0c5d96145957217b814b14bd46cdc (patch)
tree8522ad7957ee85a7f0ab53f776afee8a05795be7 /sound/isa/cs423x
parentd0ac642d76c79c5cc673c4cdfe43e926379784e1 (diff)
downloadlinux-dcccdd938ef0c5d96145957217b814b14bd46cdc.tar.xz
[ALSA] unregister platform device again if probe was unsuccessful
Unregister the platform device again if the probe was unsuccessful. This restores the behaviour of not loading the driver on probe() failure. Signed-off-by: Rene Herman <rene.herman@keyaccess.nl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/isa/cs423x')
-rw-r--r--sound/isa/cs423x/cs4231.c4
-rw-r--r--sound/isa/cs423x/cs4236.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/sound/isa/cs423x/cs4231.c b/sound/isa/cs423x/cs4231.c
index 073dac9..397310f 100644
--- a/sound/isa/cs423x/cs4231.c
+++ b/sound/isa/cs423x/cs4231.c
@@ -211,6 +211,10 @@ static int __init alsa_card_cs4231_init(void)
i, NULL, 0);
if (IS_ERR(device))
continue;
+ if (!platform_get_drvdata(device)) {
+ platform_device_unregister(device);
+ continue;
+ }
devices[i] = device;
cards++;
}
diff --git a/sound/isa/cs423x/cs4236.c b/sound/isa/cs423x/cs4236.c
index b07a62b..f7fa7793 100644
--- a/sound/isa/cs423x/cs4236.c
+++ b/sound/isa/cs423x/cs4236.c
@@ -782,6 +782,10 @@ static int __init alsa_card_cs423x_init(void)
i, NULL, 0);
if (IS_ERR(device))
continue;
+ if (!platform_get_drvdata(device)) {
+ platform_device_unregister(device);
+ continue;
+ }
platform_devices[i] = device;
snd_cs423x_devices++;
}