diff options
author | Petr Štetiar <ynezz@true.cz> | 2019-06-03 23:08:01 +0200 |
---|---|---|
committer | Petr Štetiar <ynezz@true.cz> | 2019-06-09 14:51:47 +0200 |
commit | 27d234a345669f0459fc3db54e618c80b20b7998 (patch) | |
tree | f622239f87c70c0f17639326f27cb443c9ea482a /package/kernel | |
parent | 33ccfe0e149f19c9d18165fa45b9df4b0c30e881 (diff) | |
download | upstream-27d234a345669f0459fc3db54e618c80b20b7998.tar.gz upstream-27d234a345669f0459fc3db54e618c80b20b7998.tar.bz2 upstream-27d234a345669f0459fc3db54e618c80b20b7998.zip |
gpio-button-hotplug: fix wrong initial seen value
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 <kyli.tw@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Diffstat (limited to 'package/kernel')
-rw-r--r-- | package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c | 3 |
1 files changed, 3 insertions, 0 deletions
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 d81898f932..f429f8c027 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; |