From 0e05105948325b7b5993293d09ef9588e4bd6aa3 Mon Sep 17 00:00:00 2001 From: Jesper Juhl Date: Mon, 29 May 2006 23:28:05 -0400 Subject: [PATCH] --- yaml --- r: 27007 b: refs/heads/master c: 7363cfc8666692a5263c646e68e54900b536cd7e h: refs/heads/master i: 27005: 8b5195b055a669053ca4cf0eea700cd97c7b139a 27003: 82e2a4f33757f44685b91f04cfeaa43893ea3756 26999: 18e6b19fc4602d1ca8aace26ef591ae06dd2ebc1 26991: a2fcf3726356ebc274cff9d904d590109778f14c 26975: a062af885ce60237e0fe66952cf76165c2d106f6 26943: 1a474f411c32c791303f0957a7b7c0d4f80fdb0b 26879: 7ba7acba1bdeb4c94b7ac029bc3eb65fe3d94cf0 v: v3 --- [refs] | 2 +- trunk/drivers/input/joystick/sidewinder.c | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 84d8e785f053..a972f4ecfeb1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f39b25bed373cf11a2c0490bee8b0ac430aadff4 +refs/heads/master: 7363cfc8666692a5263c646e68e54900b536cd7e diff --git a/trunk/drivers/input/joystick/sidewinder.c b/trunk/drivers/input/joystick/sidewinder.c index 2b2ec1057dee..95c0de7964a0 100644 --- a/trunk/drivers/input/joystick/sidewinder.c +++ b/trunk/drivers/input/joystick/sidewinder.c @@ -589,7 +589,7 @@ static int sw_connect(struct gameport *gameport, struct gameport_driver *drv) struct sw *sw; struct input_dev *input_dev; int i, j, k, l; - int err; + int err = 0; unsigned char *buf = NULL; /* [SW_LENGTH] */ unsigned char *idbuf = NULL; /* [SW_LENGTH] */ unsigned char m = 1; @@ -776,7 +776,10 @@ static int sw_connect(struct gameport *gameport, struct gameport_driver *drv) goto fail4; } - return 0; + out: kfree(buf); + kfree(idbuf); + + return err; fail4: input_free_device(sw->dev[i]); fail3: while (--i >= 0) @@ -784,9 +787,7 @@ static int sw_connect(struct gameport *gameport, struct gameport_driver *drv) fail2: gameport_close(gameport); fail1: gameport_set_drvdata(gameport, NULL); kfree(sw); - kfree(buf); - kfree(idbuf); - return err; + goto out; } static void sw_disconnect(struct gameport *gameport)