From: Dmitry Torokhov <dtor_core@ameritech.net>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Vojtech Pavlik <vojtech@suse.cz>, linux-kernel@vger.kernel.org
Subject: [GIT PATCH 13/18] gamecon: handle errors from input_register_device()
Date: Tue, 31 Jan 2006 23:55:27 -0500 [thread overview]
Message-ID: <20060201050734.783459000.dtor_core@ameritech.net> (raw)
In-Reply-To: 20060201045514.178498000.dtor_core@ameritech.net
[-- Attachment #1: gamecon-error-handling.patch --]
[-- Type: text/plain, Size: 1601 bytes --]
Input: gamecon - handle errors from input_register_device()
Also gc_remove shouldn't be marked __exit as it is also called from
__init code.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
---
drivers/input/joystick/gamecon.c | 18 ++++++++++++------
1 files changed, 12 insertions(+), 6 deletions(-)
Index: work/drivers/input/joystick/gamecon.c
===================================================================
--- work.orig/drivers/input/joystick/gamecon.c
+++ work/drivers/input/joystick/gamecon.c
@@ -706,9 +706,11 @@ static struct gc __init *gc_probe(int pa
sprintf(gc->phys[i], "%s/input%d", gc->pd->port->name, i);
err = gc_setup_pad(gc, i, pads[i]);
if (err)
- goto err_free_devs;
+ goto err_unreg_devs;
- input_register_device(gc->dev[i]);
+ err = input_register_device(gc->dev[i]);
+ if (err)
+ goto err_free_dev;
}
if (!gc->pads[0]) {
@@ -720,9 +722,12 @@ static struct gc __init *gc_probe(int pa
parport_put_port(pp);
return gc;
- err_free_devs:
+ err_free_dev:
+ input_free_device(gc->dev[i]);
+ err_unreg_devs:
while (--i >= 0)
- input_unregister_device(gc->dev[i]);
+ if (gc->dev[i])
+ input_unregister_device(gc->dev[i]);
err_free_gc:
kfree(gc);
err_unreg_pardev:
@@ -733,7 +738,7 @@ static struct gc __init *gc_probe(int pa
return ERR_PTR(err);
}
-static void __exit gc_remove(struct gc *gc)
+static void gc_remove(struct gc *gc)
{
int i;
@@ -771,7 +776,8 @@ static int __init gc_init(void)
if (err) {
while (--i >= 0)
- gc_remove(gc_base[i]);
+ if (gc_base[i])
+ gc_remove(gc_base[i]);
return err;
}
next prev parent reply other threads:[~2006-02-01 5:09 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-01 4:55 [GIT PATCH 00/18] Input updates for 2.6.16-rc1 Dmitry Torokhov
2006-02-01 4:55 ` [GIT PATCH 01/18] NSLU2 beeper driver Dmitry Torokhov
2006-02-01 4:55 ` [GIT PATCH 02/18] psmouse: set name for Genius mice Dmitry Torokhov
2006-02-01 4:55 ` [GIT PATCH 03/18] iforce: do not return ENOMEM upon successful allocation Dmitry Torokhov
2006-02-01 4:55 ` [GIT PATCH 04/18] mousedev: fix memory leak Dmitry Torokhov
2006-02-01 4:55 ` [GIT PATCH 05/18] Make needlessly global code static Dmitry Torokhov
2006-02-01 4:55 ` [GIT PATCH 06/18] grip: fix crash when accessing device Dmitry Torokhov
2006-02-01 4:55 ` [GIT PATCH 07/18] grip: handle errors from input_register_device() Dmitry Torokhov
2006-02-01 4:55 ` [GIT PATCH 08/18] db9: fix possible crash with Saturn gamepads Dmitry Torokhov
2006-02-01 4:55 ` [GIT PATCH 09/18] db9: handle errors from input_register_device() Dmitry Torokhov
2006-02-01 4:55 ` [GIT PATCH 10/18] sidewinder: fix an oops Dmitry Torokhov
2006-02-01 4:55 ` [GIT PATCH 11/18] sidewinder: handle errors from input_register_device() Dmitry Torokhov
2006-02-01 4:55 ` [GIT PATCH 12/18] gamecon: fix crash when accessing device Dmitry Torokhov
2006-02-01 4:55 ` Dmitry Torokhov [this message]
2006-02-01 4:55 ` [GIT PATCH 14/18] turbografx: handle errors from input_register_device() Dmitry Torokhov
2006-02-01 4:55 ` [GIT PATCH 15/18] tmdc: " Dmitry Torokhov
2006-02-01 4:55 ` [GIT PATCH 16/18] a3d: convert to dynamic input_dev allocation Dmitry Torokhov
2006-02-01 4:55 ` [GIT PATCH 17/18] iforce - fix detection of USB devices Dmitry Torokhov
2006-02-01 4:55 ` [GIT PATCH 18/18] hiddev: fix off-by-one for num_values in uref_multi requests Dmitry Torokhov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060201050734.783459000.dtor_core@ameritech.net \
--to=dtor_core@ameritech.net \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@osdl.org \
--cc=vojtech@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.