Bug 214271
Summary: | unchecked MSR access error: WRMSR when resuming laptop, which results in sporadic freezes | ||
---|---|---|---|
Product: | ACPI | Reporter: | Reik Keutterling (spielkind) |
Component: | ACPICA-Core | Assignee: | Rafael J. Wysocki (rjw) |
Status: | RESOLVED PATCH_ALREADY_AVAILABLE | ||
Severity: | normal | CC: | bp, pszafer, rjw, Robert.Moore, tglx |
Priority: | P1 | ||
Hardware: | Intel | ||
OS: | Linux | ||
Kernel Version: | 5.13.13 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | ACPICA: Get sleep type data for S0 before suspend |
Description
Reik Keutterling
2021-09-02 06:19:59 UTC
That's caused by ACPI doing a memory allocation in the very early resume state where almost everything is disabled. The kernel has KFENCE enabled which tries to queue irq work and self IPIs the CPU. That fails simply because the APIC is still shut down. Reassigned it to ACPI It looks like the values to be written the the "PM control" registers during resume need to be computed when suspending and stored for later use. Created attachment 298743 [details]
ACPICA: Get sleep type data for S0 before suspend
Please test this patch (untested so far) and let me know if it makes a difference.
Thanks, I applied the patch to kernel 5.14.3 and it looks promising so far, but I guess this needs some days of testing, as the issue only happens once in while. Tested this patch now for one week without any issues so far. So I guess it made a difference. Thanks. Thanks! I'll submit it for review and we'll proceed with applying it if there are no issues. |