Hi, On 30-07-15 16:46, Pali Rohár wrote: > On Thursday 30 July 2015 16:17:23 Hans de Goede wrote: >> Hi, >> >> On 28-07-15 01:38, Douglas Christman wrote: >>> On Mon, Jul 27, 2015 at 12:40 PM, Hans de Goede wrote: >>>> >>>> OK, please let me know soon, I would like to get to the bottom >>>> of this, and knowing the exact commit causing the problem will >>>> help a lot. >>>> >>>> Regards, >>>> >>>> hans >>> >>> I've verified that reverting 92bac83d on a clean v4.1 kernel >>> (b953c0d2) resolves the issue. >> >> Thanks, >> >> Can you please apply the attached patch on a clean v4.1 kernel, >> and confirm that that fixes this ? >> >> Regards, >> >> Hans > >> From ee3d5d5a298b178ae5284b9766ca849665a37670 Mon Sep 17 00:00:00 2001 >> From: Hans de Goede >> Date: Thu, 30 Jul 2015 15:49:16 +0200 >> Subject: [PATCH] alps: Only Dell laptops have separate button bits for v2 >> dualpoint sticks >> >> It turns out that only Dell laptops have the separate button bits for >> v2 dualpoint sticks and that commit 92bac83dd79e ("Input: alps - non >> interleaved V2 dualpoint has separate stick button bits") causes >> regressions on Toshiba laptops. >> >> This commit adds a check for Dell laptops to the code for handling these >> extra button bits, fixing this regression. >> >> This patch has been tested on a Dell Latitude D620 to make sure that it >> does not reintroduce the original problem. >> >> Reported-by: Douglas Christman >> Cc: stable@vger.kernel.org >> Signed-off-by: Hans de Goede >> --- >> drivers/input/mouse/alps.c | 6 ++++-- >> 1 file changed, 4 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c >> index 113d6f1..889aec1 100644 >> --- a/drivers/input/mouse/alps.c >> +++ b/drivers/input/mouse/alps.c >> @@ -20,6 +20,7 @@ >> #include >> #include >> #include >> +#include >> >> #include "psmouse.h" >> #include "alps.h" >> @@ -251,8 +252,9 @@ static void alps_process_packet_v1_v2(struct psmouse *psmouse) >> return; >> } >> >> - /* Non interleaved V2 dualpoint has separate stick button bits */ >> - if (priv->proto_version == ALPS_PROTO_V2 && >> + /* Dell non interleaved V2 dualpoint has separate stick button bits */ >> + if (dmi_name_in_vendors("Dell") && >> + priv->proto_version == ALPS_PROTO_V2 && >> priv->flags == (ALPS_PASS | ALPS_DUALPOINT)) { >> left |= packet[0] & 1; >> right |= packet[0] & 2; > > What about introducing new flag ALPS_ instead calling > dmi_name_in_vendors() function every time when we need to process > packet? That is a good idea. Douglas can you test the attached version instead of the previous one please ? Thanks & Regards, Hans