diff options
| author | Marcos Paulo de Souza <marcos.souza.org@gmail.com> | 2016-10-01 15:07:35 -0400 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2016-10-11 19:58:25 -0400 |
| commit | 930e19248e9b61da36c967687ca79c4d5f977919 (patch) | |
| tree | 40a11f8280090ffe6e5cc97b8283f6458d48874d /Documentation | |
| parent | 4e1bff07d7e7bc9fc3fc62100dcb8f708e1e96d2 (diff) | |
Input: i8042 - skip selftest on ASUS laptops
On suspend/resume cycle, selftest is executed to reset i8042 controller.
But when this is done in Asus devices, subsequent calls to detect/init
functions to elantech driver fails. Skipping selftest fixes this problem.
An easier step to reproduce this problem is adding i8042.reset=1 as a
kernel parameter. On Asus laptops, it'll make the system to start with the
touchpad already stuck, since psmouse_probe forcibly calls the selftest
function.
This patch was inspired by John Hiesey's change[1], but, since this problem
affects a lot of models of Asus, let's avoid running selftests on them.
All models affected by this problem:
A455LD
K401LB
K501LB
K501LX
R409L
V502LX
X302LA
X450LCP
X450LD
X455LAB
X455LDB
X455LF
Z450LA
[1]: https://marc.info/?l=linux-input&m=144312209020616&w=2
Fixes: "ETPS/2 Elantech Touchpad dies after resume from suspend"
(https://bugzilla.kernel.org/show_bug.cgi?id=107971)
Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'Documentation')
| -rw-r--r-- | Documentation/kernel-parameters.txt | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 0b3de80ec8f6..3475b3297064 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
| @@ -1409,7 +1409,14 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
| 1409 | i8042.nopnp [HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX | 1409 | i8042.nopnp [HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX |
| 1410 | controllers | 1410 | controllers |
| 1411 | i8042.notimeout [HW] Ignore timeout condition signalled by controller | 1411 | i8042.notimeout [HW] Ignore timeout condition signalled by controller |
| 1412 | i8042.reset [HW] Reset the controller during init and cleanup | 1412 | i8042.reset [HW] Reset the controller during init, cleanup and |
| 1413 | suspend-to-ram transitions, only during s2r | ||
| 1414 | transitions, or never reset | ||
| 1415 | Format: { 1 | Y | y | 0 | N | n } | ||
| 1416 | 1, Y, y: always reset controller | ||
| 1417 | 0, N, n: don't ever reset controller | ||
| 1418 | Default: only on s2r transitions on x86; most other | ||
| 1419 | architectures force reset to be always executed | ||
| 1413 | i8042.unlock [HW] Unlock (ignore) the keylock | 1420 | i8042.unlock [HW] Unlock (ignore) the keylock |
| 1414 | i8042.kbdreset [HW] Reset device connected to KBD port | 1421 | i8042.kbdreset [HW] Reset device connected to KBD port |
| 1415 | 1422 | ||
