From: Dmitry Torokhov Date: Thu, 29 Aug 2019 23:55:26 +0000 (-0700) Subject: Input: reset device timestamp on sync X-Git-Tag: v5.4~3^2~16^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4370b231d1001e0b560f82fd93616c7e54bd5fda;p=platform%2Fkernel%2Flinux-rpi.git Input: reset device timestamp on sync We need to reset input device's timestamp on input_sync(), otherwise drivers not using input_set_timestamp() will end up with a stale timestamp after their clients consume first input event. Fixes: 3b51c44bd693 ("Input: allow drivers specify timestamp for input events") Reported-by: John Stultz Signed-off-by: Dmitry Torokhov --- diff --git a/drivers/input/input.c b/drivers/input/input.c index c08aa35..5508627 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c @@ -397,6 +397,13 @@ static void input_handle_event(struct input_dev *dev, if (dev->num_vals >= 2) input_pass_values(dev, dev->vals, dev->num_vals); dev->num_vals = 0; + /* + * Reset the timestamp on flush so we won't end up + * with a stale one. Note we only need to reset the + * monolithic one as we use its presence when deciding + * whether to generate a synthetic timestamp. + */ + dev->timestamp[INPUT_CLK_MONO] = ktime_set(0, 0); } else if (dev->num_vals >= dev->max_vals - 2) { dev->vals[dev->num_vals++] = input_value_sync; input_pass_values(dev, dev->vals, dev->num_vals);