diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-02-22 08:48:06 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-02-22 08:48:06 -0800 |
commit | 627fa177a1502ad24390d945851209ac022f3a36 (patch) | |
tree | 299e2ec6950f4fb28744a09c373cec6dd17b21d7 /drivers/input/input-polldev.c | |
parent | 61caf87cb5c2a198966018343a6ce4c5ab6cf8df (diff) | |
parent | eb083ba260f21ad79e83e1ad05a0d27e93b58c83 (diff) | |
download | kernel-crypto-627fa177a1502ad24390d945851209ac022f3a36.tar.gz kernel-crypto-627fa177a1502ad24390d945851209ac022f3a36.tar.xz kernel-crypto-627fa177a1502ad24390d945851209ac022f3a36.zip |
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: usbtouchscreen - extend coordinate range for Generaltouch devices
Input: polldev can cause crash in case when polling disabled
Diffstat (limited to 'drivers/input/input-polldev.c')
-rw-r--r-- | drivers/input/input-polldev.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/input/input-polldev.c b/drivers/input/input-polldev.c index aa6713b4a98..291d9393d35 100644 --- a/drivers/input/input-polldev.c +++ b/drivers/input/input-polldev.c @@ -100,6 +100,12 @@ static void input_close_polled_device(struct input_dev *input) struct input_polled_dev *dev = input_get_drvdata(input); cancel_delayed_work_sync(&dev->work); + /* + * Clean up work struct to remove references to the workqueue. + * It may be destroyed by the next call. This causes problems + * at next device open-close in case of poll_interval == 0. + */ + INIT_DELAYED_WORK(&dev->work, dev->work.work.func); input_polldev_stop_workqueue(); if (dev->close) |