On Wed, Apr 20, 2016 at 08:54:45AM +0200, Dirk Behme wrote: > From: Knut Wohlrab <Knut.Wohlrab@xxxxxxxxxxxx> > > A wrong decoding of the touch coordinate message causes a wrong touch > ID. Touch ID for dual touch must be 0 or 1. > > According to the actual Neonode nine byte touch coordinate coding, > the state is transported in the lower nibble and the touch ID in > the higher nibble of payload byte five. > > Signed-off-by: Knut Wohlrab <Knut.Wohlrab@xxxxxxxxxxxx> > Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> > Signed-off-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Applied, thank you. > --- > drivers/input/touchscreen/zforce_ts.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/input/touchscreen/zforce_ts.c b/drivers/input/touchscreen/zforce_ts.c > index fd435fe..9790d7a 100644 > --- a/drivers/input/touchscreen/zforce_ts.c > +++ b/drivers/input/touchscreen/zforce_ts.c > @@ -412,8 +412,8 @@ static int zforce_touch_event(struct zforce_ts *ts, u8 *payload) > point.coord_x = point.coord_y = 0; > } > > - point.state = payload[9 * i + 5] & 0x03; > - point.id = (payload[9 * i + 5] & 0xfc) >> 2; > + point.state = payload[9 * i + 5] & 0x0f; > + point.id = (payload[9 * i + 5] & 0xf0) >> 4; > > /* determine touch major, minor and orientation */ > point.area_major = max(payload[9 * i + 6], > -- > 2.8.0 > -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html