OSDN Git Service

tpm/tpm_tis: Disable interrupts for Lenovo P620 devices
authorJonathan McDowell <noodles@meta.com>
Fri, 4 Aug 2023 17:08:40 +0000 (17:08 +0000)
committerJarkko Sakkinen <jarkko@kernel.org>
Mon, 7 Aug 2023 18:01:01 +0000 (18:01 +0000)
The Lenovo ThinkStation P620 suffers from an irq storm issue like various
other Lenovo machines, so add an entry for it to tpm_tis_dmi_table and
force polling.

It is worth noting that 481c2d14627d (tpm,tpm_tis: Disable interrupts after
1000 unhandled IRQs) does not seem to fix the problem on this machine, but
setting 'tpm_tis.interrupts=0' on the kernel command line does.

[jarkko@kernel.org: truncated the commit ID in the description to 12
characters]
Cc: stable@vger.kernel.org # v6.4+
Fixes: e644b2f498d2 ("tpm, tpm_tis: Enable interrupt test")
Signed-off-by: Jonathan McDowell <noodles@meta.com>
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
drivers/char/tpm/tpm_tis.c

index a98773a..ac4daaf 100644 (file)
@@ -164,6 +164,14 @@ static const struct dmi_system_id tpm_tis_dmi_table[] = {
        },
        {
                .callback = tpm_tis_disable_irq,
+               .ident = "ThinkStation P620",
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+                       DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkStation P620"),
+               },
+       },
+       {
+               .callback = tpm_tis_disable_irq,
                .ident = "TUXEDO InfinityBook S 15/17 Gen7",
                .matches = {
                        DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"),