diff options
author | Jaswinder Singh Rajput <jaswinder@kernel.org> | 2009-07-15 16:45:40 +0530 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-07-15 14:00:40 +0200 |
commit | cb65c8732a50f8a145d36dbdac026a1789ad1587 (patch) | |
tree | f80fcc499ef02d7e7868868bf4d37774d722ceae /sound/pci | |
parent | c2a30d711852e4f39c8a79135b3caa701f7a8e02 (diff) | |
download | blackbird-op-linux-cb65c8732a50f8a145d36dbdac026a1789ad1587.tar.gz blackbird-op-linux-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/pci')
-rw-r--r-- | sound/pci/riptide/riptide.c | 7 |
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) |