From 153a9df01c0d1ecdc56161c7a0f830325145dd64 Mon Sep 17 00:00:00 2001 From: Akinobu Mita Date: Thu, 23 Nov 2006 23:35:10 -0500 Subject: Input: handle serio_register_driver() errors Signed-off-by: Akinobu Mita Signed-off-by: Dmitry Torokhov --- drivers/input/joystick/iforce/iforce-main.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'drivers/input/joystick/iforce') diff --git a/drivers/input/joystick/iforce/iforce-main.c b/drivers/input/joystick/iforce/iforce-main.c index 706e0ae..3393a37 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) -- cgit v1.1