Date: Sun, 14 Jan 2024 01:42:14 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 276308] acpi_wmi: Error getting Embedded MOF on some hardware Message-ID: <bug-276308-227@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D276308 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=3D247632&action= =3Dedit 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 expec= ts to find a method to "block query", instead there is a Buffer w/ the data, a= nd 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#L9= 65 but also, the comments are enlightening - "On some Dell laptops, WQxx may n= ot be a method at all" Solution (maybe?) - Check that the WQxx result from ACPI for this GUID is a method, not a buffe= r. If it is a buffer, return the contents directly, instead of attempting to c= all 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 everyt= hing 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-p= assed-to-a-non-method-acpi-object-buffer.91904/ if it is any help. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-276308-227>