Messages in this thread | | | Date | Sun, 20 Jul 2014 11:50:55 +0200 | Subject | Re: [PATCH] Input: fix defuzzing logic | From | David Herrmann <> |
| |
Hi
On Sun, Jul 20, 2014 at 1:49 AM, Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote: > We attempt to remove noise from coordinates reported by devices in > input_handle_abs_event(), unfortunately, unless we were dropping the > event altogether, we were ignoring the adjusted value and were passing > on the original value instead.
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
Thanks David
> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> > Reviewed-by: Benson Leung <bleung@chromium.org> > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> > --- > drivers/input/input.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/input/input.c b/drivers/input/input.c > index 1c4c0db..29ca0bb 100644 > --- a/drivers/input/input.c > +++ b/drivers/input/input.c > @@ -257,9 +257,10 @@ static int input_handle_abs_event(struct input_dev *dev, > } > > static int input_get_disposition(struct input_dev *dev, > - unsigned int type, unsigned int code, int value) > + unsigned int type, unsigned int code, int *pval) > { > int disposition = INPUT_IGNORE_EVENT; > + int value = *pval; > > switch (type) { > > @@ -357,6 +358,7 @@ static int input_get_disposition(struct input_dev *dev, > break; > } > > + *pval = value; > return disposition; > } > > @@ -365,7 +367,7 @@ static void input_handle_event(struct input_dev *dev, > { > int disposition; > > - disposition = input_get_disposition(dev, type, code, value); > + disposition = input_get_disposition(dev, type, code, &value); > > if ((disposition & INPUT_PASS_TO_DEVICE) && dev->event) > dev->event(dev, type, code, value); > > -- > Dmitry
| |