]> www.infradead.org Git - users/jedix/linux-maple.git/commit
platform/x86:intel/pmc: Revert "Enable the ACPI PM Timer to be turned off when suspended"
authorMarek Maslanka <mmaslanka@google.com>
Sat, 12 Oct 2024 18:26:55 +0000 (18:26 +0000)
committerHans de Goede <hdegoede@redhat.com>
Mon, 21 Oct 2024 14:04:00 +0000 (16:04 +0200)
commit5fa607880168d991bdc819f493a11155e935abe6
tree9887500c52b32f18734c5e892cf65ac23e4b2333
parent2fae3129c0c08e72b1fe93e61fd8fd203252094a
platform/x86:intel/pmc: Revert "Enable the ACPI PM Timer to be turned off when suspended"

Commit e86c8186d03a ("platform/x86:intel/pmc: Enable the ACPI PM Timer to
be turned off when suspended") can cause the suspend process to hang as
the pmcdev->lock in the pmc_core_acpi_pm_timer_suspend_resume might already
be held by the pmc_core_mphy_pg_show or pmc_core_pll_show if the userspace
gets frozen when these functions are being executed.

Also, pmc_core_acpi_pm_timer_suspend_resume must not sleep, as this
function is called indirectly by the tick_freeze function in
kernel/time/tick-common.c, which holds the spinlock.

Revert the changes for now to fix these issues.

Fixes: e86c8186d03a ("platform/x86:intel/pmc: Enable the ACPI PM Timer to be turned off when suspended")
Reported-by: Luca Coelho <luca@coelho.fi>
Closes: https://lore.kernel.org/lkml/40555604c3f4be43bf72e72d5409eaece4be9320.camel@coelho.fi/
Signed-off-by: Marek Maslanka <mmaslanka@google.com>
Link: https://lore.kernel.org/r/20241012182656.2107178-1-mmaslanka@google.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/x86/intel/pmc/adl.c
drivers/platform/x86/intel/pmc/cnp.c
drivers/platform/x86/intel/pmc/core.c
drivers/platform/x86/intel/pmc/core.h
drivers/platform/x86/intel/pmc/icl.c
drivers/platform/x86/intel/pmc/mtl.c
drivers/platform/x86/intel/pmc/tgl.c