Re: [PATCH] Input: Do not add SYN_REPORT in between a single packet data

From: Henrik Rydberg
Date: Thu Mar 10 2016 - 09:01:28 EST


Hi Dmitry,

>> diff --git a/drivers/input/input.c b/drivers/input/input.c
>> index 8806059..262ef77 100644
>> --- a/drivers/input/input.c
>> +++ b/drivers/input/input.c
>> @@ -401,8 +401,7 @@ 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;
>> - } else if (dev->num_vals >= dev->max_vals - 2) {
>> - dev->vals[dev->num_vals++] = input_value_sync;
>> + } else if (dev->num_vals >= dev->max_vals - 1) {
>> input_pass_values(dev, dev->vals, dev->num_vals);
>> dev->num_vals = 0;
>> }
>
> This makes sense to me. Henrik?

I went through the commits that made these changes, and I cannot see any strong
reason to keep it. However, this code path only triggers if no SYN events are
seen, as in a driver that fails to emit them and consequently fills up the
buffer. In other words, this change would only affect a device that is already,
to some degree, broken.

So, the question to Aniroop is: do you see this problem in practise, and in that
case, for what driver?

Henrik