lkml.org 
[lkml]   [2006]   [Feb]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[GIT PATCH 09/18] db9: handle errors from input_register_device()
Input: db9 - handle errors from input_register_device()

Also db9_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/db9.c | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)

Index: work/drivers/input/joystick/db9.c
===================================================================
--- work.orig/drivers/input/joystick/db9.c
+++ work/drivers/input/joystick/db9.c
@@ -616,7 +616,7 @@ static struct db9 __init *db9_probe(int
if (!input_dev) {
printk(KERN_ERR "db9.c: Not enough memory for input device\n");
err = -ENOMEM;
- goto err_free_devs;
+ goto err_unreg_devs;
}

sprintf(db9->phys[i], "%s/input%d", db9->pd->port->name, i);
@@ -642,13 +642,17 @@ static struct db9 __init *db9_probe(int
input_set_abs_params(input_dev, db9_abs[j], 1, 255, 0, 0);
}

- input_register_device(input_dev);
+ err = input_register_device(input_dev);
+ if (err)
+ goto err_free_dev;
}

parport_put_port(pp);
return db9;

- err_free_devs:
+ err_free_dev:
+ input_free_device(db9->dev[i]);
+ err_unreg_devs:
while (--i >= 0)
input_unregister_device(db9->dev[i]);
kfree(db9);
@@ -660,7 +664,7 @@ static struct db9 __init *db9_probe(int
return ERR_PTR(err);
}

-static void __exit db9_remove(struct db9 *db9)
+static void db9_remove(struct db9 *db9)
{
int i;

@@ -698,7 +702,8 @@ static int __init db9_init(void)

if (err) {
while (--i >= 0)
- db9_remove(db9_base[i]);
+ if (db9_base[i])
+ db9_remove(db9_base[i]);
return err;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-02-01 06:15    [W:0.056 / U:0.292 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site