aboutsummaryrefslogtreecommitdiff
path: root/drivers/input/joystick/iforce
diff options
context:
space:
mode:
authorAkinobu Mita <akinobu.mita@gmail.com>2006-11-23 23:35:10 -0500
committerDmitry Torokhov <dtor@insightbb.com>2006-11-23 23:35:10 -0500
commit153a9df01c0d1ecdc56161c7a0f830325145dd64 (patch)
tree6645b72a6036bb2491d1e54317009259e41bf568 /drivers/input/joystick/iforce
parented7b1f6d6ea1054ea4fe293a7fd8015fc3803d93 (diff)
Input: handle serio_register_driver() errors
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input/joystick/iforce')
-rw-r--r--drivers/input/joystick/iforce/iforce-main.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/input/joystick/iforce/iforce-main.c b/drivers/input/joystick/iforce/iforce-main.c
index 706e0aea793..3393a37fec3 100644
--- a/drivers/input/joystick/iforce/iforce-main.c
+++ b/drivers/input/joystick/iforce/iforce-main.c
@@ -467,13 +467,21 @@ int iforce_init_device(struct iforce *iforce)
static int __init iforce_init(void)
{
+ int err = 0;
+
#ifdef CONFIG_JOYSTICK_IFORCE_USB
- usb_register(&iforce_usb_driver);
+ err = usb_register(&iforce_usb_driver);
+ if (err)
+ return err;
#endif
#ifdef CONFIG_JOYSTICK_IFORCE_232
- serio_register_driver(&iforce_serio_drv);
+ err = serio_register_driver(&iforce_serio_drv);
+#ifdef CONFIG_JOYSTICK_IFORCE_USB
+ if (err)
+ usb_deregister(&iforce_usb_driver);
#endif
- return 0;
+#endif
+ return err;
}
static void __exit iforce_exit(void)