diff options
author | Rene Herman | 2006-04-11 14:09:37 +0200 |
---|---|---|
committer | Jaroslav Kysela | 2006-04-12 11:55:32 +0200 |
commit | dcccdd938ef0c5d96145957217b814b14bd46cdc (patch) | |
tree | 8522ad7957ee85a7f0ab53f776afee8a05795be7 /sound/isa/sb | |
parent | [ALSA] continue on IS_ERR from platform device registration (diff) | |
download | kernel-qcow2-linux-dcccdd938ef0c5d96145957217b814b14bd46cdc.tar.gz kernel-qcow2-linux-dcccdd938ef0c5d96145957217b814b14bd46cdc.tar.xz kernel-qcow2-linux-dcccdd938ef0c5d96145957217b814b14bd46cdc.zip |
[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/sb')
-rw-r--r-- | sound/isa/sb/sb16.c | 4 | ||||
-rw-r--r-- | sound/isa/sb/sb8.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/sound/isa/sb/sb16.c b/sound/isa/sb/sb16.c index 24fa190f33ac..6333f900eaee 100644 --- a/sound/isa/sb/sb16.c +++ b/sound/isa/sb/sb16.c @@ -722,6 +722,10 @@ static int __init alsa_card_sb16_init(void) i, NULL, 0); if (IS_ERR(device)) continue; + if (!platform_get_drvdata(device)) { + platform_device_unregister(device); + continue; + } platform_devices[i] = device; cards++; } diff --git a/sound/isa/sb/sb8.c b/sound/isa/sb/sb8.c index f75eeb05c1fa..141400c01426 100644 --- a/sound/isa/sb/sb8.c +++ b/sound/isa/sb/sb8.c @@ -266,6 +266,10 @@ static int __init alsa_card_sb8_init(void) i, NULL, 0); if (IS_ERR(device)) continue; + if (!platform_get_drvdata(device)) { + platform_device_unregister(device); + continue; + } devices[i] = device; cards++; } |