Message ID | ZFFz0xAdPNSL3PT7@google.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 978134c4b192ed04ecf699be3e1b4d23b5d20457 |
Headers | show |
Series | Input: fix open count when closing inhibited device | expand |
On Tue, May 02, 2023 at 01:34:27PM -0700, Dmitry Torokhov wrote: > Because the kernel increments device's open count in input_open_device() > even if device is inhibited, the counter should always be decremented in > input_close_device() to keep it balanced. > > Fixes: a181616487db ("Input: Add "inhibited" property") > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Yep. Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Cheers, Peter > --- > drivers/input/input.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/input/input.c b/drivers/input/input.c > index f791d14ecf23..8c5fdb0f858a 100644 > --- a/drivers/input/input.c > +++ b/drivers/input/input.c > @@ -705,7 +705,7 @@ void input_close_device(struct input_handle *handle) > > __input_release_device(handle); > > - if (!dev->inhibited && !--dev->users) { > + if (!--dev->users && !dev->inhibited) { > if (dev->poller) > input_dev_poller_stop(dev->poller); > if (dev->close) > -- > 2.40.1.495.gc816e09b53d-goog > > > -- > Dmitry
diff --git a/drivers/input/input.c b/drivers/input/input.c index f791d14ecf23..8c5fdb0f858a 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c @@ -705,7 +705,7 @@ void input_close_device(struct input_handle *handle) __input_release_device(handle); - if (!dev->inhibited && !--dev->users) { + if (!--dev->users && !dev->inhibited) { if (dev->poller) input_dev_poller_stop(dev->poller); if (dev->close)
Because the kernel increments device's open count in input_open_device() even if device is inhibited, the counter should always be decremented in input_close_device() to keep it balanced. Fixes: a181616487db ("Input: Add "inhibited" property") Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> --- drivers/input/input.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)