Am 19.03.25 um 12:29 schrieb Naveen Kumar P:
Hi all, I am encountering repeated AE_AML_LOOP_TIMEOUT errors in the ACPI RDWD & \_SB.PCI0.SBRG.ADP1._PSR methods. Below are relevant log entries from my system running Linux kernel 6.13.0+: [77998.038653] Initialized Local Variables for Method [RDWD]: [77998.038691] Local1: 00000000d0fe9fee <Obj> Integer 0000000000000015 [77998.038862] Local6: 00000000f41c1645 <Obj> Integer 0000000000000000 [77998.039031] Local7: 0000000040665c5c <Obj> Integer 000000000000AA55 [77998.039237] Initialized Arguments for Method [RDWD]: (2 arguments defined for method invocation) [77998.039273] Arg0: 00000000397dc53d <Obj> Integer 0000000000000014 [77998.039442] Arg1: 000000001099e334 <Obj> Integer 0000000000000002 [77998.039673] ACPI Error: Aborting method \_SB.PCI0.SBUS.RDWD due to previous error (AE_AML_LOOP_TIMEOUT) (20240827/psparse-529) [77998.040455] ACPI Error: Aborting method \_SB.PCI0.SBRG.ADP1._PSR due to previous error (AE_AML_LOOP_TIMEOUT) (20240827/psparse-529) [77998.043659] ACPI: \_SB_.PCI0.SBRG.ADP1: Error reading AC Adapter state: AE_AML_LOOP_TIMEOUT [78028.442980] Initialized Local Variables for Method [RDWD]: [78028.443019] Local1: 00000000898a9a7e <Obj> Integer 0000000000000017 [78028.443192] Local6: 000000000cf0c853 <Obj> Integer 0000000000000000 [78028.443362] Local7: 00000000bb4aa65f <Obj> Integer 000000000000AA55 [78028.443569] Initialized Arguments for Method [RDWD]: (2 arguments defined for method invocation) [78028.443606] Arg0: 00000000ef8d445b <Obj> Integer 0000000000000016 [78028.443775] Arg1: 000000006cacc887 <Obj> Integer 0000000000000003 [78028.444006] ACPI Error: Aborting method \_SB.PCI0.SBUS.RDWD due to previous error (AE_AML_LOOP_TIMEOUT) (20240827/psparse-529) [78028.446366] ACPI Error: Aborting method \_SB.PCI0.SBRG.ADP1._PSR due to previous error (AE_AML_LOOP_TIMEOUT) (20240827/psparse-529) [78028.451179] ACPI: \_SB_.PCI0.SBRG.ADP1: Error reading AC Adapter state: AE_AML_LOOP_TIMEOUT [78032.877472] Initialized Local Variables for Method [RDWD]: [78032.877509] Local1: 00000000cf6291ae <Obj> Integer 0000000000000017 [78032.877682] Local6: 0000000026aa8a7a <Obj> Integer 0000000000000003 [78032.877851] Local7: 00000000acfa20e0 <Obj> Integer 000000000000AA55 [78032.878058] Initialized Arguments for Method [RDWD]: (2 arguments defined for method invocation) [78032.878094] Arg0: 00000000a186096f <Obj> Integer 0000000000000016 [78032.878262] Arg1: 00000000d0e1eefe <Obj> Integer 0000000000000003 [78032.878492] ACPI Error: Aborting method \_SB.PCI0.SBUS.RDWD due to previous error (AE_AML_LOOP_TIMEOUT) (20240827/psparse-529) [78032.881011] ACPI Error: Aborting method \_SB.PCI0.SBRG.ADP1._PSR due to previous error (AE_AML_LOOP_TIMEOUT) (20240827/psparse-529) [78032.883061] ACPI: \_SB_.PCI0.SBRG.ADP1: Error reading AC Adapter state: AE_AML_LOOP_TIMEOUT This issue appears randomly, affecting the RDWD method, which is likely responsible for reading data from a bus, and consequently causing the _PSR method (power state read) to fail. Questions: 1. What typically causes AE_AML_LOOP_TIMEOUT errors?
AFAIK this error is caused by a while loop taking too long to finish. I suspect that the ACPI bytecode tries to wait for a non-responsive hardware device.
2. Could these ACPI errors impact PCI device access? Since the error originates from _SB.PCI0.SBUS.RDWD, could this failure affect PCI device communication or cause failures when accessing PCI devices?
I do not think so, the SBUS device is likely just a SMBus controller attached to the PCI bus.
3. Could this be a firmware/BIOS issue?If so, what tools or steps should I use to verify and debug the ACPI tables?
It is either a hardware issue or a BIOS bug. Can you share the output of the "acpidump" utility provided by the ACPICA project? Many Linux distributions already package ACPICA in their package repositories.
4. Is there a recommended workaround to mitigate this issue?
You can check if a BIOS update is available for your device.
4. How can I debug this further?I can enable additional ACPI debugging logs or provide dumps of ACPI tables if necessary.
I can take a look at the \_SB.PCI0.SBUS.RDWD method inside the ACPI table dumps to see where the error is coming from. Thanks, Armin Wolf
Any guidance on resolving or further diagnosing this issue would be highly appreciated. Best regards, Naveen