diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2010-02-25 08:48:05 +0100 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2010-02-25 08:48:05 +0100 |
commit | 7f03292ee16e68be96aa88904afc6152f8d37736 (patch) | |
tree | 5c32738f0348449c2fa9688d52e6ecf4445d76f0 /drivers/input/input-polldev.c | |
parent | pktcdvd: use BIO list management functions (diff) | |
parent | security: fix error return path in ima_inode_alloc (diff) | |
download | linux-7f03292ee16e68be96aa88904afc6152f8d37736.tar.xz linux-7f03292ee16e68be96aa88904afc6152f8d37736.zip |
Merge branch 'master' into for-2.6.34
Conflicts:
include/linux/blkdev.h
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
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 aa6713b4a988..291d9393d359 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) |