Message ID | CADYu308OF98jdbsqpSVdQpTa0sEafuQmVuC=ttN3-1u59_QvmA@mail.gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Aniroop, >> I am not sure what the urgency is. It is more of a theoretical problem >> ans so far the proposed solutions were actually introducing more >> problems than they were solving. >> >> I am sorry, bit this particular topic is not a priority for me. >> > > There is no hurry at all. :-) As you know request is made a long time ago, > so I am only very curious to complete it. This kind of patch is not liked by any maintainer, because it does not solve any immediate problem, but instead may create one. If such a simple patch takes three of four tries to look right, it only adds to the perception that the code is best left alone. I think the solution at this stage is to say no to this patch. If there is ever a driver for which the input_estimate_events_per_packet() function returns less than the actual maximum number of events per frame, this issue can be revisited and resolved in a number of different ways. Sorry, and thanks for your work. Henrik -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hello Mr. Henrik, On Thu, Apr 7, 2016 at 1:21 AM, Henrik Rydberg <rydberg@bitmath.org> wrote: > Hi Aniroop, > >>> I am not sure what the urgency is. It is more of a theoretical problem >>> ans so far the proposed solutions were actually introducing more >>> problems than they were solving. >>> >>> I am sorry, bit this particular topic is not a priority for me. >>> >> >> There is no hurry at all. :-) As you know request is made a long time ago, >> so I am only very curious to complete it. > > This kind of patch is not liked by any maintainer, because it does not solve any > immediate problem, but instead may create one. If such a simple patch takes > three of four tries to look right, it only adds to the perception that the code > is best left alone. > > I think the solution at this stage is to say no to this patch. > > If there is ever a driver for which the input_estimate_events_per_packet() > function returns less than the actual maximum number of events per frame, this > issue can be revisited and resolved in a number of different ways. > > Sorry, and thanks for your work. > Well, I agree this code might not be used by any driver so far. But if some driver developer writes such a driver, then it definitely cannot work well because of the bug in input subsystem code. So I am afraid that it is not a good idea to wait for someone to report this bug when we already know that the bug does exist in input core. Secondly, I submitted this patch not only because it breaks protocol of SYN_REPORT event but also because without this bug fix, another bug could not be concluded which depends on when the input event packet ended really. Bug: Input: evdev: fix bug of dropping valid packet after syn_dropped event https://patchwork.kernel.org/patch/8083641/ So to fix this bug, we need to fix SYN_REPORT bug first. It would be appreciating of you if you could give it one more spin. > Henrik > -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Apr 7, 2016 at 2:13 AM, Aniroop Mathur <aniroop.mathur@gmail.com> wrote: > Hello Mr. Henrik, > > On Thu, Apr 7, 2016 at 1:21 AM, Henrik Rydberg <rydberg@bitmath.org> wrote: >> Hi Aniroop, >> >>>> I am not sure what the urgency is. It is more of a theoretical problem >>>> ans so far the proposed solutions were actually introducing more >>>> problems than they were solving. >>>> >>>> I am sorry, bit this particular topic is not a priority for me. >>>> >>> >>> There is no hurry at all. :-) As you know request is made a long time ago, >>> so I am only very curious to complete it. >> >> This kind of patch is not liked by any maintainer, because it does not solve any >> immediate problem, but instead may create one. If such a simple patch takes >> three of four tries to look right, it only adds to the perception that the code >> is best left alone. >> >> I think the solution at this stage is to say no to this patch. >> >> If there is ever a driver for which the input_estimate_events_per_packet() >> function returns less than the actual maximum number of events per frame, this >> issue can be revisited and resolved in a number of different ways. >> >> Sorry, and thanks for your work. >> > > Well, I agree this code might not be used by any driver so far. > But if some driver developer writes such a driver, then it definitely cannot > work well because of the bug in input subsystem code. So I am afraid that it > is not a good idea to wait for someone to report this bug when we already know > that the bug does exist in input core. > > Secondly, I submitted this patch not only because it breaks protocol of > SYN_REPORT event but also because without this bug fix, another bug could not > be concluded which depends on when the input event packet ended really. > Bug: > Input: evdev: fix bug of dropping valid packet after syn_dropped event > https://patchwork.kernel.org/patch/8083641/ > So to fix this bug, we need to fix SYN_REPORT bug first. > > It would be appreciating of you if you could give it one more spin. > > Hello Mr. Torokhov, Would you please update further about this patch? Thanks, Aniroop Mathur -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/input/input.c b/drivers/input/input.c index 8806059..799941c 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c @@ -401,12 +401,11 @@ 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; - input_pass_values(dev, dev->vals, dev->num_vals); + } else if (dev->num_vals >= dev->max_vals - 1) { + input_pass_values(dev, dev->vals, dev->num_vals - 1); dev->num_vals = 0; + dev->vals[dev->num_vals++] = dev->vals[dev->num_vals - 1]; } - } >>