Re: [PATCH] gpiolib: skip unwanted events, don't convert them to opposite edge

From: Linus Walleij
Date: Tue Aug 01 2017 - 08:08:32 EST


On Mon, Jul 3, 2017 at 11:12 AM, Bartosz Golaszewski <brgl@xxxxxxxx> wrote:

> The previous fix for filtering out of unwatched events was not entirely
> correct. Instead of skipping the events we don't want, they are now
> interpreted as events with opposing edge.
>
> In order to fix it: always read the GPIO line value on interrupt and
> only emit the event if it corresponds with the event type we requested.
>
> Fixes: ad537b822577 ("gpiolib: fix filtering out unwanted events")
> Signed-off-by: Bartosz Golaszewski <brgl@xxxxxxxx>
> ---
> Hi Linus,
>
> I tested my previous fix on a real board, where I got a storm of
> interrupts from simply playing with a GPIO manually. It looked ok so I
> posted the patch, but I didn't notice that when waiting for rising-edge
> events, all falling-edge events got interpreted as such. This patch
> should actually fix this bug. Tested carefully with gpio-mockup this
> time.

Patrch applied for fixes and tagged for stable.

Yours,
Linus Walleij