summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorJaswinder Singh Rajput <jaswinder@kernel.org>2009-07-15 16:45:40 +0530
committerTakashi Iwai <tiwai@suse.de>2009-07-15 14:00:40 +0200
commitcb65c8732a50f8a145d36dbdac026a1789ad1587 (patch)
treef80fcc499ef02d7e7868868bf4d37774d722ceae /sound
parentc2a30d711852e4f39c8a79135b3caa701f7a8e02 (diff)
downloadlinux-3.10-cb65c8732a50f8a145d36dbdac026a1789ad1587.tar.gz
linux-3.10-cb65c8732a50f8a145d36dbdac026a1789ad1587.tar.bz2
linux-3.10-cb65c8732a50f8a145d36dbdac026a1789ad1587.zip
ALSA: riptide - proper handling of pci_register_driver for joystick
We need to check returning error for pci_register_driver(&joystick_driver) On failure, we should unregister formerly registered audio drivers This also fixed the compiler warning : CC [M] sound/pci/riptide/riptide.o sound/pci/riptide/riptide.c: In function ‘alsa_card_riptide_init’: sound/pci/riptide/riptide.c:2200: warning: ignoring return value of ‘__pci_register_driver’, declared with attribute warn_unused_result Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-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 235a71e5ac8..b5ca02e2038 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)