aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/input.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dtor@insightbb.com>2006-07-19 01:08:51 -0400
committerDmitry Torokhov <dtor@insightbb.com>2006-07-19 01:08:51 -0400
commitb6d786dbe6fc19b51edd6cf6de84fd65b702c800 (patch)
tree999b39ed26d3c51278d469f5ea7c1d5a7b49eaaa /drivers/input/input.c
parentInput: HID - fix potential out-of-bound array access (diff)
downloadlinux-dev-b6d786dbe6fc19b51edd6cf6de84fd65b702c800.tar.xz
linux-dev-b6d786dbe6fc19b51edd6cf6de84fd65b702c800.zip
Input: add missing handler->start() call
The start() method need to be called every time we create a new handle. This includes not only registering new devices but also when registering new handlers. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input/input.c')
-rw-r--r--drivers/input/input.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/input/input.c b/drivers/input/input.c
index 9c98b6d6848b..9cb4b9a54f01 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -1056,8 +1056,11 @@ void input_register_handler(struct input_handler *handler)
list_for_each_entry(dev, &input_dev_list, node)
if (!handler->blacklist || !input_match_device(handler->blacklist, dev))
if ((id = input_match_device(handler->id_table, dev)))
- if ((handle = handler->connect(handler, dev, id)))
+ if ((handle = handler->connect(handler, dev, id))) {
input_link_handle(handle);
+ if (handler->start)
+ handler->start(handle);
+ }
input_wakeup_procfs_readers();
}