Re: [PATCH 4.0 REGRESSION FIX] alps: Fix left touchpad button getting stuck when using it with trackpoint

From: Dmitry Torokhov
Date: Sun Apr 12 2015 - 19:00:42 EST


On Wed, Apr 08, 2015 at 10:26:36PM +0200, Pali Rohár wrote:
> On Wednesday 08 April 2015 17:38:52 Hans de Goede wrote:
> > When the left touchpad button gets pressed, and then the
> > trackpoint is moved, and then the button is released, the
> > following happens:
> >
> > 1) touchpad packet is received, touchpad evdev node reports
> > BTN_LEFT 1 2) pointingstick packet is received, the hw will
> > report a BTN_LEFT 1 in this packet because when the
> > trackstick is active it communicates the combined touchpad +
> > pointingstick buttons in the trackstick packet, since
> > alps_report_bare_ps2_packet passes NULL (*) for the dev2
> > parameter to alps_report_buttons the combining is not
> > detected and the pointingstick evdev node will also report
> > BTN_LEFT 1
> > 3) on release of the button a pointingstick packet with
> > BTN_LEFT 0 is received, and the pointingstick evdev node will
> > report BTN_LEFT 0
> >
> > Note how because of the passing as NULL for dev2 the touchpad
> > evdev node will never send BTN_LEFT 0 in this scenario
> > leading to a stuck mouse button.
> >
> > This is a regression in 4.0 introduced by commit 04aae283ba6a8
> > ("Input: ALPS - do not mix trackstick and external PS/2 mouse
> > data")
> >
> > This commit fixes this by passing in the touchpad evdev as
> > dev2 parameter when calling alps_report_buttons for the
> > pointingstick on alps v2 devices, so that alps_report_buttons
> > correctly detect that we're already reporting the button as
> > pressed via the touchpad evdev node, and will also send the
> > release event there.
> >
> > Reported-by: Hans de Bruin <jmdebruin@xxxxxxxxx>
> > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
>
> Patch looks good to me, so
>
> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx>
>
> As this is regression in 4.0 (which was not in 3.19), I'm also
> for fixing it. But decision is of course on maintainers...

Doh! Missed the 4.0 so had to tag it for stable.

--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/