[Bug 276308] acpi_wmi: Error getting Embedded MOF on some hardware
Date: Sun, 14 Jan 2024 01:42:14 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276308
Bug ID: 276308
Summary: acpi_wmi: Error getting Embedded MOF on some hardware
Product: Base System
Version: 14.0-RELEASE
Hardware: amd64
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: kern
Assignee: bugs@FreeBSD.org
Reporter: kennedy.greg@gmail.com
Attachment #247632 text/plain
mime type:
Created attachment 247632
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=247632&action=edit
acpidump -d -t > DSDT.dsl
Hardware -
Dell Latitude E5420 laptop (2011), latest BIOS (A14), 8gb RAM, Intel Core
i5-2430M CPU
FreeBSD-14.0-RELEASE-p4, AMD64 standard kernel.
Issue -
Getting this error in `dmesg` after boot:
acpi_wmi0: <ACPI-WMI mapping> on acpi0
acpi_wmi0: Embedded MOF found
ACPI: \134_SB.AMW0.WQMO: 1 arguments were passed to a non-method ACPI object
(Buffer) (20221020/nsarguments-361)
Seems to be a problem retrieving the BMOF from ACPI: where the kernel expects
to find a method to "block query", instead there is a Buffer w/ the data, and
no query method is present to call.
Reference
https://github.com/freebsd/freebsd-src/blob/main/sys/dev/acpi_support/acpi_wmi.c#L280
On Linux, the result is different. Instead the kernel reports "data block
query control method not found" and gives up. See
https://github.com/torvalds/linux/blob/master/drivers/platform/x86/wmi.c#L965
but also, the comments are enlightening - "On some Dell laptops, WQxx may not
be a method at all"
Solution (maybe?) -
Check that the WQxx result from ACPI for this GUID is a method, not a buffer.
If it is a buffer, return the contents directly, instead of attempting to call
the method to get the contents.
Consider also the quirk about "optional" parameters when there is only one
instance for the associated data block.
Attached -
I'm attaching the result of `acpidump -d -t` from the machine. This doesn't
compile with iasl (because of external references), but it should be everything
needed to help diagnose this issue.
My research into this is also on the forums at
https://forums.freebsd.org/threads/acpi-134_sb-amw0-wqmo-1-arguments-were-passed-to-a-non-method-acpi-object-buffer.91904/
if it is any help.
--
You are receiving this mail because:
You are the assignee for the bug.