diff options
author | Dmitry Torokhov <dtor_core@ameritech.net> | 2006-01-29 21:51:56 -0500 |
---|---|---|
committer | Dmitry Torokhov <dtor_core@ameritech.net> | 2006-01-29 21:51:56 -0500 |
commit | 07cf779c0098fd0007d2348e1cf948cc07bfe096 (patch) | |
tree | cd8a76b447f94b42597149fc11db9899c077663d /drivers/input | |
parent | 847fd5fbf70e82baf042556968f885066489b164 (diff) |
Input: sidewinder - handle errors from input_register_device()
Also set .owner in driver structure so we'll have a link between
module and driver in sysfs.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input')
-rw-r--r-- | drivers/input/joystick/sidewinder.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/input/joystick/sidewinder.c b/drivers/input/joystick/sidewinder.c index 03f9e7ed0304..2b2ec1057dee 100644 --- a/drivers/input/joystick/sidewinder.c +++ b/drivers/input/joystick/sidewinder.c | |||
@@ -771,12 +771,15 @@ static int sw_connect(struct gameport *gameport, struct gameport_driver *drv) | |||
771 | 771 | ||
772 | dbg("%s%s [%d-bit id %d data %d]\n", sw->name, comment, m, l, k); | 772 | dbg("%s%s [%d-bit id %d data %d]\n", sw->name, comment, m, l, k); |
773 | 773 | ||
774 | input_register_device(sw->dev[i]); | 774 | err = input_register_device(sw->dev[i]); |
775 | if (err) | ||
776 | goto fail4; | ||
775 | } | 777 | } |
776 | 778 | ||
777 | return 0; | 779 | return 0; |
778 | 780 | ||
779 | fail3: while (--i >= 0) | 781 | fail4: input_free_device(sw->dev[i]); |
782 | fail3: while (--i >= 0) | ||
780 | input_unregister_device(sw->dev[i]); | 783 | input_unregister_device(sw->dev[i]); |
781 | fail2: gameport_close(gameport); | 784 | fail2: gameport_close(gameport); |
782 | fail1: gameport_set_drvdata(gameport, NULL); | 785 | fail1: gameport_set_drvdata(gameport, NULL); |
@@ -801,6 +804,7 @@ static void sw_disconnect(struct gameport *gameport) | |||
801 | static struct gameport_driver sw_drv = { | 804 | static struct gameport_driver sw_drv = { |
802 | .driver = { | 805 | .driver = { |
803 | .name = "sidewinder", | 806 | .name = "sidewinder", |
807 | .owner = THIS_MODULE, | ||
804 | }, | 808 | }, |
805 | .description = DRIVER_DESC, | 809 | .description = DRIVER_DESC, |
806 | .connect = sw_connect, | 810 | .connect = sw_connect, |