Bug 208629

Summary: ACPI: Invalid active0 threshold - Dell OptiPlex 7010
Product: ACPI Reporter: Paul Menzel (pmenzel+bugzilla.kernel.org)
Component: ACPICA-CoreAssignee: Zhang Rui (rui.zhang)
Status: CLOSED DOCUMENTED    
Severity: normal CC: rui.zhang
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 5.7.6 Subsystem:
Regression: No Bisected commit-id:
Attachments: Linux 5.7.6 messages (output of `dmesg`)
Output of `acpidump`

Description Paul Menzel 2020-07-20 14:32:34 UTC
Created attachment 290379 [details]
Linux 5.7.6 messages (output of `dmesg`)

On the Dell OptiPlex 7010 running Debian Sid/unstable, Linux 5.7.6 show the error below.

```
[    0.000000] Linux version 5.7.0-1-amd64 (debian-kernel@lists.debian.org) (gcc version 9.3.0 (Debian 9.3.0-14), GNU ld (GNU Binutils for Debian) 2.34) #1 SMP Debian 5.7.6-1 (2020-06-24)
[…]
[    0.355327] intel_idle: MWAIT substates: 0x1120
[    0.355327] intel_idle: v0.5.1 model 0x3A
[    0.355534] intel_idle: Local APIC timer is reliable in all C-states
[    0.355919] ACPI: Invalid active0 threshold
[    0.355996] thermal LNXTHERM:00: registered as thermal_zone0
[    0.356016] ACPI: Thermal Zone [TZ00] (28 C)
[    0.356192] thermal LNXTHERM:01: registered as thermal_zone1
[…]
```

If a value is invalid, it should be tried to print it out, and the valid range be added.

Ideally, the user is told, what to do in the case. Fix the ACPI table or the firmware or contact the hardware vendor.
Comment 1 Zhang Rui 2021-01-03 14:48:14 UTC
Usually, this is because we failed to find any cooling devices associated with this trip point, and it is a BIOS bug in most cases, e.g. missing _AL0 control method.

please attach the acpidump output.
Comment 2 Paul Menzel 2021-03-23 18:30:38 UTC
Created attachment 296013 [details]
Output of `acpidump`
Comment 3 Zhang Rui 2021-03-25 01:26:48 UTC
$ grep _AC *.dsl
dsdt.dsl:            Method (_AC0, 0, Serialized)  // _ACx: Active Cooling, x=0-9
dsdt.dsl:            Method (_AC1, 0, Serialized)  // _ACx: Active Cooling, x=0-9
dsdt.dsl:            Method (_AC2, 0, Serialized)  // _ACx: Active Cooling, x=0-9
dsdt.dsl:            Method (_AC3, 0, Serialized)  // _ACx: Active Cooling, x=0-9
dsdt.dsl:            Method (_AC4, 0, Serialized)  // _ACx: Active Cooling, x=0-9

$ grep _AL *.dsl
There is no output.

The ACPI Thermal Zone has trip points defined (_ACx), but does not have cooling devices defined for each trip point (_ALx).
So this error is caused by the buggy ASL code, which is a violation of the ACPI spec.
From OS' perspective of view, we can do nothing to get this fixed.
But I will try to reach DELL to see if this buggy ASL can be fixed in BIOS or not.
Thanks for reporting this. Bug closed.
Comment 4 Paul Menzel 2024-02-13 15:48:59 UTC
> But I will try to reach DELL to see if this buggy ASL can be fixed in BIOS or
> not.

Did you get any feedback from Dell?