]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
gpiolib: fix filtering out unwanted events
authorBartosz Golaszewski <brgl@bgdev.pl>
Fri, 23 Jun 2017 11:45:16 +0000 (13:45 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Jul 2017 12:41:39 +0000 (14:41 +0200)
commitdfa1f2448715d0e2b8229f8d43b9053bb8221cd2
tree4fb644f5a74adb736ba42656ed539feb8d04c236
parent515a95fafafe0d98ca6c35af0674f2aaa7e4d0b9
gpiolib: fix filtering out unwanted events

commit ad537b822577fcc143325786cd6ad50d7b9df31c upstream.

GPIOEVENT_REQUEST_BOTH_EDGES is not a single flag, but a binary OR of
GPIOEVENT_REQUEST_RISING_EDGE and GPIOEVENT_REQUEST_FALLING_EDGE.

The expression 'le->eflags & GPIOEVENT_REQUEST_BOTH_EDGES' we'll get
evaluated to true even if only one event type was requested.

Fix it by checking both RISING & FALLING flags explicitly.

Fixes: 61f922db7221 ("gpio: userspace ABI for reading GPIO line events")
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpio/gpiolib.c