diff mbox series

Input: i8042 - add ThinkPad S230u to i8042 nomux list

Message ID feb8a8339a67025dab3850e6377eb6f3a0e782ba.1587400635.git.kevin@kevinlocke.name (mailing list archive)
State Mainlined
Commit 18931506465a762ffd3f4803d36a18d336a67da9
Headers show
Series Input: i8042 - add ThinkPad S230u to i8042 nomux list | expand

Commit Message

Kevin Locke April 20, 2020, 4:37 p.m. UTC
On the Lenovo ThinkPad Twist S230u (3347-4HU) with BIOS version
"GDETC1WW (1.81 ) 06/27/2019", whether booted in UEFI or Legacy/CSM mode
the keyboard, Synaptics TouchPad, and TrackPoint either do not function
or stop functioning a few minutes after boot.  This problem has been
noted before, perhaps only occurring on BIOS 1.57 and
later.[1][2][3][4][5]

This model does not have an external PS/2 port, so mux does not appear
to be useful.

Odds of a BIOS fix appear to be low: 1.57 was released over 6 years ago
and although the [BIOS changelog] notes "Fixed an issue of UEFI
touchpad/trackpoint/keyboard/touchscreen" in 1.58, it appears to be
insufficient.

Adding 33474HU to the nomux list avoids the issue on my system.

[1]: https://bugs.launchpad.net/bugs/1210748
[2]: https://bbs.archlinux.org/viewtopic.php?pid=1360425
[3]: https://forums.linuxmint.com/viewtopic.php?f=46&t=41200
[4]: https://forums.linuxmint.com/viewtopic.php?f=49&t=157115
[5]: https://forums.lenovo.com/topic/findpost/27/1337119
[BIOS changelog]: https://download.lenovo.com/pccbbs/mobiles/gduj33uc.txt

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
Cc: stable@vger.kernel.org
---
 drivers/input/serio/i8042-x86ia64io.h | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Dmitry Torokhov April 20, 2020, 5:02 p.m. UTC | #1
On Mon, Apr 20, 2020 at 10:37:15AM -0600, Kevin Locke wrote:
> On the Lenovo ThinkPad Twist S230u (3347-4HU) with BIOS version
> "GDETC1WW (1.81 ) 06/27/2019", whether booted in UEFI or Legacy/CSM mode
> the keyboard, Synaptics TouchPad, and TrackPoint either do not function
> or stop functioning a few minutes after boot.  This problem has been
> noted before, perhaps only occurring on BIOS 1.57 and
> later.[1][2][3][4][5]
> 
> This model does not have an external PS/2 port, so mux does not appear
> to be useful.
> 
> Odds of a BIOS fix appear to be low: 1.57 was released over 6 years ago
> and although the [BIOS changelog] notes "Fixed an issue of UEFI
> touchpad/trackpoint/keyboard/touchscreen" in 1.58, it appears to be
> insufficient.
> 
> Adding 33474HU to the nomux list avoids the issue on my system.
> 
> [1]: https://bugs.launchpad.net/bugs/1210748
> [2]: https://bbs.archlinux.org/viewtopic.php?pid=1360425
> [3]: https://forums.linuxmint.com/viewtopic.php?f=46&t=41200
> [4]: https://forums.linuxmint.com/viewtopic.php?f=49&t=157115
> [5]: https://forums.lenovo.com/topic/findpost/27/1337119
> [BIOS changelog]: https://download.lenovo.com/pccbbs/mobiles/gduj33uc.txt
> 
> Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
> Cc: stable@vger.kernel.org

Applied, thank you.

> ---
>  drivers/input/serio/i8042-x86ia64io.h | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
> index 08e919dbeb5d..5bbc9152731d 100644
> --- a/drivers/input/serio/i8042-x86ia64io.h
> +++ b/drivers/input/serio/i8042-x86ia64io.h
> @@ -541,6 +541,13 @@ static const struct dmi_system_id __initconst i8042_dmi_nomux_table[] = {
>  			DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5738"),
>  		},
>  	},
> +	{
> +		/* Lenovo ThinkPad Twist S230u */
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "33474HU"),
> +		},
> +	},
>  	{ }
>  };
>  
> -- 
> 2.26.1
>
Kevin Locke April 24, 2020, 4:25 a.m. UTC | #2
On Mon, 2020-04-20 at 10:02 -0700, Dmitry Torokhov wrote:
> Applied, thank you.

I believe I was in error and nomux only appeared to fix the issue
because the controller continued working after warm reboots.  After
more thorough testing from both warm and cold start, I now believe the
entry should be added to i8042_dmi_reset_table rather than
i8042_dmi_nomux_table as i8042.reset=1 alone is sufficient to avoid
the issue from both states while i8042.nomux is not.

Please drop or revert the previous patch, if possible.
I will send a corrected and better-tested patch momentarily.

My apologies for the confusion,
Kevin
Dmitry Torokhov April 28, 2020, 1:08 a.m. UTC | #3
On Thu, Apr 23, 2020 at 10:25:00PM -0600, Kevin Locke wrote:
> On Mon, 2020-04-20 at 10:02 -0700, Dmitry Torokhov wrote:
> > Applied, thank you.
> 
> I believe I was in error and nomux only appeared to fix the issue
> because the controller continued working after warm reboots.  After
> more thorough testing from both warm and cold start, I now believe the
> entry should be added to i8042_dmi_reset_table rather than
> i8042_dmi_nomux_table as i8042.reset=1 alone is sufficient to avoid
> the issue from both states while i8042.nomux is not.
> 
> Please drop or revert the previous patch, if possible.
> I will send a corrected and better-tested patch momentarily.

Reverted, thank you.
diff mbox series

Patch

diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
index 08e919dbeb5d..5bbc9152731d 100644
--- a/drivers/input/serio/i8042-x86ia64io.h
+++ b/drivers/input/serio/i8042-x86ia64io.h
@@ -541,6 +541,13 @@  static const struct dmi_system_id __initconst i8042_dmi_nomux_table[] = {
 			DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5738"),
 		},
 	},
+	{
+		/* Lenovo ThinkPad Twist S230u */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "33474HU"),
+		},
+	},
 	{ }
 };