[PATCH 4.4 025/190] Input: elantech - force relative mode on a certain module

2018-04-11 Thread Greg Kroah-Hartman
4.4-stable review patch.  If anyone has any objections, please let me know.

--

From: KT Liao 


[ Upstream commit d899520b0431e70279bfb5066ecb6dc91d0b7072 ]

One of Elan modules with sample version is 0x74 and hw_version is 0x03 has
a bug in absolute mode implementation, so let it run in default PS/2
relative mode.

Signed-off-by: KT Liao 
Signed-off-by: Dmitry Torokhov 
Signed-off-by: Sasha Levin 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/input/mouse/elantech.c |   11 +++
 1 file changed, 11 insertions(+)

--- a/drivers/input/mouse/elantech.c
+++ b/drivers/input/mouse/elantech.c
@@ -1715,6 +1715,17 @@ int elantech_init(struct psmouse *psmous
 etd->samples[0], etd->samples[1], etd->samples[2]);
}
 
+   if (etd->samples[1] == 0x74 && etd->hw_version == 0x03) {
+   /*
+* This module has a bug which makes absolute mode
+* unusable, so let's abort so we'll be using standard
+* PS/2 protocol.
+*/
+   psmouse_info(psmouse,
+"absolute mode broken, forcing standard PS/2 
protocol\n");
+   goto init_fail;
+   }
+
if (elantech_set_absolute_mode(psmouse)) {
psmouse_err(psmouse,
"failed to put touchpad into absolute mode.\n");




[PATCH 4.4 025/190] Input: elantech - force relative mode on a certain module

2018-04-11 Thread Greg Kroah-Hartman
4.4-stable review patch.  If anyone has any objections, please let me know.

--

From: KT Liao 


[ Upstream commit d899520b0431e70279bfb5066ecb6dc91d0b7072 ]

One of Elan modules with sample version is 0x74 and hw_version is 0x03 has
a bug in absolute mode implementation, so let it run in default PS/2
relative mode.

Signed-off-by: KT Liao 
Signed-off-by: Dmitry Torokhov 
Signed-off-by: Sasha Levin 
Signed-off-by: Greg Kroah-Hartman 
---
 drivers/input/mouse/elantech.c |   11 +++
 1 file changed, 11 insertions(+)

--- a/drivers/input/mouse/elantech.c
+++ b/drivers/input/mouse/elantech.c
@@ -1715,6 +1715,17 @@ int elantech_init(struct psmouse *psmous
 etd->samples[0], etd->samples[1], etd->samples[2]);
}
 
+   if (etd->samples[1] == 0x74 && etd->hw_version == 0x03) {
+   /*
+* This module has a bug which makes absolute mode
+* unusable, so let's abort so we'll be using standard
+* PS/2 protocol.
+*/
+   psmouse_info(psmouse,
+"absolute mode broken, forcing standard PS/2 
protocol\n");
+   goto init_fail;
+   }
+
if (elantech_set_absolute_mode(psmouse)) {
psmouse_err(psmouse,
"failed to put touchpad into absolute mode.\n");