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

Reply via email to