diff options
author | Rene Herman <rene.herman@keyaccess.nl> | 2006-04-11 14:09:37 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2006-04-12 11:55:32 +0200 |
commit | dcccdd938ef0c5d96145957217b814b14bd46cdc (patch) | |
tree | 8522ad7957ee85a7f0ab53f776afee8a05795be7 /sound/isa/sb | |
parent | d0ac642d76c79c5cc673c4cdfe43e926379784e1 (diff) | |
download | kernel_samsung_smdk4412-dcccdd938ef0c5d96145957217b814b14bd46cdc.zip kernel_samsung_smdk4412-dcccdd938ef0c5d96145957217b814b14bd46cdc.tar.gz kernel_samsung_smdk4412-dcccdd938ef0c5d96145957217b814b14bd46cdc.tar.bz2 |
[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 24fa190..6333f90 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 f75eeb0..141400c 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++; } |