Re: [PATCH] hack to debug acpiphp crash

From: Woody Suwalski
Date: Tue Jul 25 2023 - 07:46:15 EST


Igor Mammedov wrote:
On Tue, 25 Jul 2023 10:06:44 +0200
Igor Mammedov <imammedo@xxxxxxxxxx> wrote:

PS:
What happens is that on resume firmware (likely EC),
issues ACPI bus check on root ports which (bus check) is
wired to acpiphp module (though pciehp module was initialized
at boot to manage root ports), it's likely firmware bug.

I'd guess the intent behind this was to check if PCIe devices
were hotplugged while laptop has been asleep, and for
some reason they didn't use native PCIe hotplug to handle that.
However looking at laptop specs you can't hotplug PCIe
devices via external ports. Given how old laptop is
it isn't going to be fixed, so we would need a workaround
or fixup DSDT to skip buscheck.

The options I see is to keep old kernel as for such case,
or bail out early from bus check/enable_slot since root port
is managed by pciehp module (and let it handle hotplug).
scratch all of above out (it's wrong). Looking at DSDT
firmware sends Notify(rpxx, 2 /* Wake */) event. Which
according to spec needs to be handed down to the native
device driver.


I agree that this laptop is a tricky one. I had to adjust my kernel config NOHZ just to make it suspend to ram, otherwise it was waking back right after going to sleep (and the same nohz kernel worked on all my other machines)...