From 27d234a345669f0459fc3db54e618c80b20b7998 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Petr=20=C5=A0tetiar?= Date: Mon, 3 Jun 2019 23:08:01 +0200 Subject: [PATCH] gpio-button-hotplug: fix wrong initial seen value MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Currently the generated event contains wrong seen value, when the button is pressed for the first time: rmmod gpio_button_hotplug; modprobe gpio_button_hotplug [ pressing the wps key immediately after modprobe ] gpio-keys: create event, name=wps, seen=1088, pressed=1 So this patch adds a check for this corner case and makes seen=0 if the button is pressed for the first time. Tested-by: Kuan-Yi Li Signed-off-by: Petr Å tetiar --- package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c b/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c index d81898f932a1..f429f8c0271f 100644 --- a/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c +++ b/package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c @@ -253,6 +253,9 @@ static void button_hotplug_event(struct gpio_keys_button_data *data, if (btn < 0) return; + if (priv->seen == 0) + priv->seen = seen; + button_hotplug_create_event(button_map[btn].name, type, (seen - priv->seen) / HZ, value); priv->seen = seen; -- 2.30.2