diff options
author | Rene Herman <rene.herman@keyaccess.nl> | 2006-04-13 10:58:06 (GMT) |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2006-06-22 19:32:42 (GMT) |
commit | 7152447df98b3981d621224be947a2c8d77aed06 (patch) | |
tree | 33419b17c13ee13c757c2d2fff9a09d47cc01af6 /sound/drivers/mtpav.c | |
parent | 79ca4f3f625e14212310f953b096e2e45110ac6b (diff) | |
download | linux-7152447df98b3981d621224be947a2c8d77aed06.tar.xz |
[ALSA] unregister platform device again if probe was unsuccessful
This second one unregisters the platform device again when the probe is
unsuccesful for sound/drivers, sound/arm/sa11xx-uda1341.c and
sound/ppc/powermac.c. This gets them all.
Signed-off-by: Rene Herman <rene.herman@keyaccess.nl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/drivers/mtpav.c')
-rw-r--r-- | sound/drivers/mtpav.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c index b7a0b42..474eed0 100644 --- a/sound/drivers/mtpav.c +++ b/sound/drivers/mtpav.c @@ -770,11 +770,15 @@ static int __init alsa_card_mtpav_init(void) return err; device = platform_device_register_simple(SND_MTPAV_DRIVER, -1, NULL, 0); - if (IS_ERR(device)) { - platform_driver_unregister(&snd_mtpav_driver); - return PTR_ERR(device); - } - return 0; + if (!IS_ERR(device)) { + if (platform_get_drvdata(device)) + return 0; + platform_device_unregister(device); + err = -ENODEV; + } else + err = PTR_ERR(device); + platform_driver_unregister(&snd_mtpav_driver); + return err; } static void __exit alsa_card_mtpav_exit(void) |