Re: Multitouch regression in 3.3 on thinkpad X220 clickpad

From: Dmitry Torokhov
Date: Fri Apr 20 2012 - 13:01:42 EST

On Fri, Apr 20, 2012 at 08:27:37AM -0600, Daniel Drake wrote:
> On Fri, Apr 20, 2012 at 1:21 AM, Benjamin Herrenschmidt
> <benh@xxxxxxxxxxxxxxxxxxx> wrote:
> > So Peter and I have been discussing a problem I observed on my brand new
> > ThinkPad X220 and it's multitouch "clickpad". I've been digging a bit
> > more today and bisected the regression to:
> >
> > commit 7968a5dd492ccc38345013e534ad4c8d6eb60ed1
> > Input: synaptics - add support for Relative mode
> >
> > Without that commit, I can draw two "traces" when using two fingers in
> > mtview (after removing the device from X), each follow one finger.
> >
> > With that commit applied, this doesn't work anymore: it appears to be
> > unable to track more than one finger. IE. If i put a finger on the
> > touchpad, I can draw, but a second finger is then ignored (or causes one
> > or two spots in a random place to appear but that's about it).
> >
> > Now other multitouch operations such as two finger scrolling seem to
> > work in X. I'm not familiar with the inner workings of the input layer
> > or the synaptic touchpads. I'll dig a bit more this week-end if I have
> > time, but it would save me plenty of that precious time if you guys
> > could hint me at things to look at :-)
> Sorry to cause you this trouble.
> It's the first I've heard of issues with this patch, and unfortunately
> I don't have any immediate diagnosis for you.
> The patch isn't supposed to change behaviour of the existing default
> mode which is called "absolute mode".
> What I would suggest looking at is
> synaptics_set_advanced_gesture_mode(). Is this being called, does it
> run to completion?

It looks we lost a condition in synaptics_set_advanced_gesture_mode().
It used to be:

if (!(SYN_CAP_ADV_GESTURE(priv->ext_cap_0c) ||
return 0;

and now simply is:

if (!SYN_CAP_ADV_GESTURE(priv->ext_cap_0c))
return 0;

Could you try restoring the condition and see if it fixes the


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at