Re: [RFC 0/3] acpipcihp: fix kernel crash on 2nd resume
From: Woody Suwalski
Date: Tue Jul 25 2023 - 11:41:22 EST
Woody Suwalski wrote:
Igor Mammedov wrote:
Changelog:
* split out debug patch into a separate one with extra printk added
* fixed inverte bus->self check (probably a reason why it didn't
work before)
1/3 debug patch
2/3 offending patch
3/3 potential fix
I added more files to trace, add following to kernel CLI
dyndbg="file drivers/pci/access.c +p; file
drivers/pci/hotplug/acpiphp_glue.c +p; file drivers/pci/bus.c +p;
file drivers/pci/pci.c +p; file drivers/pci/setup-bus.c +p; file
drivers/acpi/bus.c +p" ignore_loglevel
should be applied on top of
e8afd0d9fccc PCI: pciehp: Cancel bringup sequence if card is not
present
apply a patch one by one and run testcase + capture dmesg after each
patch
one shpould endup with 3 dmesg to ananlyse
1st - old behaviour - no crash
2nd - crash
3rd - no crash hopefully
Igor Mammedov (3):
acpiphp: extra debug hack
PCI: acpiphp: Reassign resources on bridge if necessary
acpipcihp: use __pci_bus_assign_resources() if bus doesn't have
bridge
drivers/pci/hotplug/acpiphp_glue.c | 23 ++++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)
Actually applying patch1 is already creating the crash (why???), hence
I have added also dmesg-6.5-0.txt which shows a working condition
based on git e8afd0d9fccc level (acpiphp_glue in kernel 6.4)
Patch3 did not fix the issue, it seems that the culprit is somewhere
else triggered by "benign" patch1 :-(
Also note about the trigger description in patch3: the dmesg trace on
Inspiron laptop is collected after the first wake from suspend to ram.
The consecutive attempt to sleep results in a frozen system.
Thanks, Woody
I think that in patch1 there is a problem in your debug statement
acpi_handle_debug(...slot_name...) - it is masking the "old" issue.
when I commented out that line in hotplug_event(), it has worked ok (as
was expected). I will redo the testing in ~2 hours...
Woody