From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ig0-f181.google.com ([209.85.213.181]:35622 "EHLO mail-ig0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754260AbbFBRlm (ORCPT ); Tue, 2 Jun 2015 13:41:42 -0400 Date: Tue, 2 Jun 2015 10:41:37 -0700 From: Dmitry Torokhov To: Hans de Goede Cc: Peter Hutterer , Benjamin Tissoires , Ulrik de Bie , linux-input@vger.kernel.org, stable@vger.kernel.org Subject: Re: [PATCH v2] elantech: Fix detection of touchpads where the revision matches a known rate Message-ID: <20150602174137.GA11297@dtor-ws> References: <1433237617-12495-1-git-send-email-hdegoede@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1433237617-12495-1-git-send-email-hdegoede@redhat.com> Sender: stable-owner@vger.kernel.org List-ID: On Tue, Jun 02, 2015 at 11:33:37AM +0200, Hans de Goede wrote: > Make the check to skip the rate check more lax, so that it applies > to all hw_version 4 models. > > This fixes the touchpad not being detected properly on Asus PU551LA > laptops. > > Cc: stable@vger.kernel.org > Reported-and-tested-by: David Zafra G�mez > Signed-off-by: Hans de Goede Applied, thank you. > --- > Changes in v2: > -Update the comment above the check to match the new code > --- > drivers/input/mouse/elantech.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c > index 79363b6..f181d73 100644 > --- a/drivers/input/mouse/elantech.c > +++ b/drivers/input/mouse/elantech.c > @@ -1376,10 +1376,11 @@ static bool elantech_is_signature_valid(const unsigned char *param) > return true; > > /* > - * Some models have a revision higher then 20. Meaning param[2] may > - * be 10 or 20, skip the rates check for these. > + * Some hw_version >= 4 models have a revision higher then 20. Meaning > + * that param[2] may be 10 or 20, skip the rates check for these. > */ > - if (param[0] == 0x46 && (param[1] & 0xef) == 0x0f && param[2] < 40) > + if ((param[0] & 0x0f) >= 0x06 && (param[1] & 0xaf) == 0x0f && > + param[2] < 40) > return true; > > for (i = 0; i < ARRAY_SIZE(rates); i++) > -- > 2.4.2 > -- Dmitry