diff mbox

elantech: Fix detection of touchpads where the revision matches a known rate

Message ID 1432804171-3878-1-git-send-email-hdegoede@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Hans de Goede May 28, 2015, 9:09 a.m. UTC
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 <dezeta@klo.es>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/input/mouse/elantech.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Ulrik De Bie May 28, 2015, 6:19 p.m. UTC | #1
Hi Hans,
On Thu, May 28, 2015 at 11:09:31AM +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 <dezeta@klo.es>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
>  drivers/input/mouse/elantech.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c
> index 79363b6..e605303 100644
> --- a/drivers/input/mouse/elantech.c
> +++ b/drivers/input/mouse/elantech.c
> @@ -1379,7 +1379,8 @@ static bool elantech_is_signature_valid(const unsigned char *param)
>  	 * Some models have a revision higher then 20. Meaning param[2] may
>  	 * be 10 or 20, skip the rates check for these.
>  	 */
Would it not be best to also update the comment here ? That it will skip rate
check in that case for all hw version 4+ when revision is higher than ..

> -	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.1
> 

Kind regards,
Ulrik
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c
index 79363b6..e605303 100644
--- a/drivers/input/mouse/elantech.c
+++ b/drivers/input/mouse/elantech.c
@@ -1379,7 +1379,8 @@  static bool elantech_is_signature_valid(const unsigned char *param)
 	 * Some models have a revision higher then 20. Meaning 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++)