aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-06-04 16:27:33 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-06-04 16:27:33 -0400
commit0b662c64840fb281e5948ab6f9d60f84817277d0 (patch)
tree169f6bf2c3c9f3a7a69b0ee3785cfcd866e12329 /drivers/input
parent45efebf2492187e8915e2876c5bf6f3803b1c23f (diff)
parent1dfa2812404c37d7571622195f907cea3331616c (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: reduce raciness when input handlers disconnect Input: ucb1x00 - do not access input_dev->private directly Input: logips2pp - fix typo in Kconfig Input: db9 - do not ignore dev2 module parameter
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/evdev.c2
-rw-r--r--drivers/input/joydev.c2
-rw-r--r--drivers/input/joystick/db9.c2
-rw-r--r--drivers/input/mouse/Kconfig2
-rw-r--r--drivers/input/mousedev.c2
-rw-r--r--drivers/input/tsdev.c2
6 files changed, 6 insertions, 6 deletions
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
index b234729706be..be6b93c20f60 100644
--- a/drivers/input/evdev.c
+++ b/drivers/input/evdev.c
@@ -699,9 +699,9 @@ static void evdev_disconnect(struct input_handle *handle)
699 if (evdev->open) { 699 if (evdev->open) {
700 input_flush_device(handle, NULL); 700 input_flush_device(handle, NULL);
701 input_close_device(handle); 701 input_close_device(handle);
702 wake_up_interruptible(&evdev->wait);
703 list_for_each_entry(client, &evdev->client_list, node) 702 list_for_each_entry(client, &evdev->client_list, node)
704 kill_fasync(&client->fasync, SIGIO, POLL_HUP); 703 kill_fasync(&client->fasync, SIGIO, POLL_HUP);
704 wake_up_interruptible(&evdev->wait);
705 } else 705 } else
706 evdev_free(evdev); 706 evdev_free(evdev);
707} 707}
diff --git a/drivers/input/joydev.c b/drivers/input/joydev.c
index 06f0541b24da..10e3b7bc925f 100644
--- a/drivers/input/joydev.c
+++ b/drivers/input/joydev.c
@@ -594,9 +594,9 @@ static void joydev_disconnect(struct input_handle *handle)
594 594
595 if (joydev->open) { 595 if (joydev->open) {
596 input_close_device(handle); 596 input_close_device(handle);
597 wake_up_interruptible(&joydev->wait);
598 list_for_each_entry(client, &joydev->client_list, node) 597 list_for_each_entry(client, &joydev->client_list, node)
599 kill_fasync(&client->fasync, SIGIO, POLL_HUP); 598 kill_fasync(&client->fasync, SIGIO, POLL_HUP);
599 wake_up_interruptible(&joydev->wait);
600 } else 600 } else
601 joydev_free(joydev); 601 joydev_free(joydev);
602} 602}
diff --git a/drivers/input/joystick/db9.c b/drivers/input/joystick/db9.c
index 86ad1027e12a..b069ee18e353 100644
--- a/drivers/input/joystick/db9.c
+++ b/drivers/input/joystick/db9.c
@@ -54,7 +54,7 @@ static struct db9_config db9_cfg[DB9_MAX_PORTS] __initdata;
54 54
55module_param_array_named(dev, db9_cfg[0].args, int, &db9_cfg[0].nargs, 0); 55module_param_array_named(dev, db9_cfg[0].args, int, &db9_cfg[0].nargs, 0);
56MODULE_PARM_DESC(dev, "Describes first attached device (<parport#>,<type>)"); 56MODULE_PARM_DESC(dev, "Describes first attached device (<parport#>,<type>)");
57module_param_array_named(dev2, db9_cfg[1].args, int, &db9_cfg[0].nargs, 0); 57module_param_array_named(dev2, db9_cfg[1].args, int, &db9_cfg[1].nargs, 0);
58MODULE_PARM_DESC(dev2, "Describes second attached device (<parport#>,<type>)"); 58MODULE_PARM_DESC(dev2, "Describes second attached device (<parport#>,<type>)");
59module_param_array_named(dev3, db9_cfg[2].args, int, &db9_cfg[2].nargs, 0); 59module_param_array_named(dev3, db9_cfg[2].args, int, &db9_cfg[2].nargs, 0);
60MODULE_PARM_DESC(dev3, "Describes third attached device (<parport#>,<type>)"); 60MODULE_PARM_DESC(dev3, "Describes third attached device (<parport#>,<type>)");
diff --git a/drivers/input/mouse/Kconfig b/drivers/input/mouse/Kconfig
index eb0167e9f0cb..50e06e8dd05d 100644
--- a/drivers/input/mouse/Kconfig
+++ b/drivers/input/mouse/Kconfig
@@ -48,7 +48,7 @@ config MOUSE_PS2_ALPS
48 If unsure, say Y. 48 If unsure, say Y.
49 49
50config MOUSE_PS2_LOGIPS2PP 50config MOUSE_PS2_LOGIPS2PP
51 bool "Logictech PS/2++ mouse protocol extension" if EMBEDDED 51 bool "Logitech PS/2++ mouse protocol extension" if EMBEDDED
52 default y 52 default y
53 depends on MOUSE_PS2 53 depends on MOUSE_PS2
54 help 54 help
diff --git a/drivers/input/mousedev.c b/drivers/input/mousedev.c
index 8675f9509393..3f4866d8d18c 100644
--- a/drivers/input/mousedev.c
+++ b/drivers/input/mousedev.c
@@ -766,9 +766,9 @@ static void mousedev_disconnect(struct input_handle *handle)
766 766
767 if (mousedev->open) { 767 if (mousedev->open) {
768 input_close_device(handle); 768 input_close_device(handle);
769 wake_up_interruptible(&mousedev->wait);
770 list_for_each_entry(client, &mousedev->client_list, node) 769 list_for_each_entry(client, &mousedev->client_list, node)
771 kill_fasync(&client->fasync, SIGIO, POLL_HUP); 770 kill_fasync(&client->fasync, SIGIO, POLL_HUP);
771 wake_up_interruptible(&mousedev->wait);
772 } else 772 } else
773 mousedev_free(mousedev); 773 mousedev_free(mousedev);
774} 774}
diff --git a/drivers/input/tsdev.c b/drivers/input/tsdev.c
index 8238b13874c2..2db364898e15 100644
--- a/drivers/input/tsdev.c
+++ b/drivers/input/tsdev.c
@@ -476,9 +476,9 @@ static void tsdev_disconnect(struct input_handle *handle)
476 476
477 if (tsdev->open) { 477 if (tsdev->open) {
478 input_close_device(handle); 478 input_close_device(handle);
479 wake_up_interruptible(&tsdev->wait);
480 list_for_each_entry(client, &tsdev->client_list, node) 479 list_for_each_entry(client, &tsdev->client_list, node)
481 kill_fasync(&client->fasync, SIGIO, POLL_HUP); 480 kill_fasync(&client->fasync, SIGIO, POLL_HUP);
481 wake_up_interruptible(&tsdev->wait);
482 } else 482 } else
483 tsdev_free(tsdev); 483 tsdev_free(tsdev);
484} 484}