diff options
author | Akinobu Mita <akinobu.mita@gmail.com> | 2006-11-23 23:35:10 -0500 |
---|---|---|
committer | Dmitry Torokhov <dtor@insightbb.com> | 2006-11-23 23:35:10 -0500 |
commit | 153a9df01c0d1ecdc56161c7a0f830325145dd64 (patch) | |
tree | 6645b72a6036bb2491d1e54317009259e41bf568 /drivers/input/mouse | |
parent | ed7b1f6d6ea1054ea4fe293a7fd8015fc3803d93 (diff) |
Input: handle serio_register_driver() errors
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input/mouse')
-rw-r--r-- | drivers/input/mouse/hil_ptr.c | 3 | ||||
-rw-r--r-- | drivers/input/mouse/psmouse-base.c | 8 | ||||
-rw-r--r-- | drivers/input/mouse/sermouse.c | 3 | ||||
-rw-r--r-- | drivers/input/mouse/vsxxxaa.c | 3 |
4 files changed, 9 insertions, 8 deletions
diff --git a/drivers/input/mouse/hil_ptr.c b/drivers/input/mouse/hil_ptr.c index 4f2b503c1ac7..bfb174fe3230 100644 --- a/drivers/input/mouse/hil_ptr.c +++ b/drivers/input/mouse/hil_ptr.c | |||
@@ -417,8 +417,7 @@ static struct serio_driver hil_ptr_serio_driver = { | |||
417 | 417 | ||
418 | static int __init hil_ptr_init(void) | 418 | static int __init hil_ptr_init(void) |
419 | { | 419 | { |
420 | serio_register_driver(&hil_ptr_serio_driver); | 420 | return serio_register_driver(&hil_ptr_serio_driver); |
421 | return 0; | ||
422 | } | 421 | } |
423 | 422 | ||
424 | static void __exit hil_ptr_exit(void) | 423 | static void __exit hil_ptr_exit(void) |
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c index 58beca99a9c3..e626b1e737fa 100644 --- a/drivers/input/mouse/psmouse-base.c +++ b/drivers/input/mouse/psmouse-base.c | |||
@@ -1524,15 +1524,19 @@ static int psmouse_get_maxproto(char *buffer, struct kernel_param *kp) | |||
1524 | 1524 | ||
1525 | static int __init psmouse_init(void) | 1525 | static int __init psmouse_init(void) |
1526 | { | 1526 | { |
1527 | int err; | ||
1528 | |||
1527 | kpsmoused_wq = create_singlethread_workqueue("kpsmoused"); | 1529 | kpsmoused_wq = create_singlethread_workqueue("kpsmoused"); |
1528 | if (!kpsmoused_wq) { | 1530 | if (!kpsmoused_wq) { |
1529 | printk(KERN_ERR "psmouse: failed to create kpsmoused workqueue\n"); | 1531 | printk(KERN_ERR "psmouse: failed to create kpsmoused workqueue\n"); |
1530 | return -ENOMEM; | 1532 | return -ENOMEM; |
1531 | } | 1533 | } |
1532 | 1534 | ||
1533 | serio_register_driver(&psmouse_drv); | 1535 | err = serio_register_driver(&psmouse_drv); |
1536 | if (err) | ||
1537 | destroy_workqueue(kpsmoused_wq); | ||
1534 | 1538 | ||
1535 | return 0; | 1539 | return err; |
1536 | } | 1540 | } |
1537 | 1541 | ||
1538 | static void __exit psmouse_exit(void) | 1542 | static void __exit psmouse_exit(void) |
diff --git a/drivers/input/mouse/sermouse.c b/drivers/input/mouse/sermouse.c index 10b51e7f01f6..a85d74710b44 100644 --- a/drivers/input/mouse/sermouse.c +++ b/drivers/input/mouse/sermouse.c | |||
@@ -351,8 +351,7 @@ static struct serio_driver sermouse_drv = { | |||
351 | 351 | ||
352 | static int __init sermouse_init(void) | 352 | static int __init sermouse_init(void) |
353 | { | 353 | { |
354 | serio_register_driver(&sermouse_drv); | 354 | return serio_register_driver(&sermouse_drv); |
355 | return 0; | ||
356 | } | 355 | } |
357 | 356 | ||
358 | static void __exit sermouse_exit(void) | 357 | static void __exit sermouse_exit(void) |
diff --git a/drivers/input/mouse/vsxxxaa.c b/drivers/input/mouse/vsxxxaa.c index ffd0d6624a8c..c3d64fcc858d 100644 --- a/drivers/input/mouse/vsxxxaa.c +++ b/drivers/input/mouse/vsxxxaa.c | |||
@@ -574,8 +574,7 @@ static struct serio_driver vsxxxaa_drv = { | |||
574 | static int __init | 574 | static int __init |
575 | vsxxxaa_init (void) | 575 | vsxxxaa_init (void) |
576 | { | 576 | { |
577 | serio_register_driver(&vsxxxaa_drv); | 577 | return serio_register_driver(&vsxxxaa_drv); |
578 | return 0; | ||
579 | } | 578 | } |
580 | 579 | ||
581 | static void __exit | 580 | static void __exit |