summaryrefslogtreecommitdiff
path: root/sound/pci
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-07-16 16:35:48 +0200
committerTakashi Iwai <tiwai@suse.de>2009-07-16 16:35:48 +0200
commit9d79b136910de2cf9e4f0e37c3048c0fc7d9eab3 (patch)
tree77fdffedeb0c52a00b0bfaaeafeec946d6e09517 /sound/pci
parent26887793b64ae93342c1e2548595d4c6f7dce694 (diff)
parentcb65c8732a50f8a145d36dbdac026a1789ad1587 (diff)
Merge branch 'fix/misc' into for-linus
* fix/misc: ALSA: riptide - proper handling of pci_register_driver for joystick
Diffstat (limited to 'sound/pci')
-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)