aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Takashi Iwai <tiwai@suse.de> 2009-07-16 16:35:48 +0200
committerGravatar Takashi Iwai <tiwai@suse.de> 2009-07-16 16:35:48 +0200
commit9d79b136910de2cf9e4f0e37c3048c0fc7d9eab3 (patch)
tree77fdffedeb0c52a00b0bfaaeafeec946d6e09517
parentMerge branch 'fix/hda' into for-linus (diff)
parentALSA: riptide - proper handling of pci_register_driver for joystick (diff)
downloadlinux-9d79b136910de2cf9e4f0e37c3048c0fc7d9eab3.tar.gz
linux-9d79b136910de2cf9e4f0e37c3048c0fc7d9eab3.tar.bz2
linux-9d79b136910de2cf9e4f0e37c3048c0fc7d9eab3.zip
Merge branch 'fix/misc' into for-linus
* fix/misc: ALSA: riptide - proper handling of pci_register_driver for joystick
-rw-r--r--sound/pci/riptide/riptide.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sound/pci/riptide/riptide.c b/sound/pci/riptide/riptide.c
index 235a71e5ac8d..b5ca02e2038c 100644
--- a/sound/pci/riptide/riptide.c
+++ b/sound/pci/riptide/riptide.c
@@ -2197,9 +2197,12 @@ static int __init alsa_card_riptide_init(void)
if (err < 0)
return err;
#if defined(SUPPORT_JOYSTICK)
- pci_register_driver(&joystick_driver);
+ err = pci_register_driver(&joystick_driver);
+ /* On failure unregister formerly registered audio driver */
+ if (err < 0)
+ pci_unregister_driver(&driver);
#endif
- return 0;
+ return err;
}
static void __exit alsa_card_riptide_exit(void)