summaryrefslogtreecommitdiff
path: root/drivers/input/input-poller.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/input/input-poller.c')
-rw-r--r--drivers/input/input-poller.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/input/input-poller.c b/drivers/input/input-poller.c
index 7d6b4e8879f1..1ce83d6521bb 100644
--- a/drivers/input/input-poller.c
+++ b/drivers/input/input-poller.c
@@ -4,6 +4,7 @@
*/
#include <linux/device.h>
+#include <linux/export.h>
#include <linux/input.h>
#include <linux/jiffies.h>
#include <linux/mutex.h>
@@ -162,18 +163,16 @@ static ssize_t input_dev_set_poll_interval(struct device *dev,
if (interval > poller->poll_interval_max)
return -EINVAL;
- mutex_lock(&input->mutex);
+ guard(mutex)(&input->mutex);
poller->poll_interval = interval;
- if (input->users) {
+ if (input_device_enabled(input)) {
cancel_delayed_work_sync(&poller->work);
if (poller->poll_interval > 0)
input_dev_poller_queue_work(poller);
}
- mutex_unlock(&input->mutex);
-
return count;
}