Date: Tue, 17 Nov 2020 11:07:00 +0300 From: Vladimir Kondratyev <vladimir@kondratyev.su> To: Yuri Pankov <yuripv@yuripv.dev> Cc: current@freebsd.org, owner-freebsd-current@freebsd.org Subject: Re: acpi_wmi noisy without EC Message-ID: <fb0874b1cf4510a2d797a83a01d55935@kondratyev.su> In-Reply-To: <7b80877ae59fdd90f2f3b5dbf3db2113@kondratyev.su> References: <7dc142d3-1e0b-41d4-bdb4-7217bd09bbef@www.fastmail.com> <7b80877ae59fdd90f2f3b5dbf3db2113@kondratyev.su>
next in thread | previous in thread | raw e-mail | index | archive | help
--=_78f0970818859361063826d296ba337a Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed On 2020-11-17 10:57, Vladimir Kondratyev wrote: > On 2020-11-17 03:00, Yuri Pankov wrote: >> I have started seeing the following on boot since some time: >> >> acpi_wmi0: <ACPI-WMI mapping> on acpi0 >> acpi_wmi0: cannot find EC device >> device_attach: acpi_wmi0 attach returned 6 >> acpi_wmi0: <ACPI-WMI mapping> on acpi0 >> acpi_wmi0: cannot find EC device >> device_attach: acpi_wmi0 attach returned 6 >> acpi_wmi0: <ACPI-WMI mapping> on acpi0 >> acpi_wmi0: cannot find EC device >> device_attach: acpi_wmi0 attach returned 6 >> acpi_wmi0: <ACPI-WMI mapping> on acpi0 >> acpi_wmi0: cannot find EC device >> device_attach: acpi_wmi0 attach returned 6 >> >> Likely following this commit: >> >> commit 708d048ccfdacf6199cc08a56aa05a9c899441fd >> Author: Vladimir Kondratyev <wulf@FreeBSD.org> >> Date: Sat Oct 31 22:19:39 2020 +0000 >> >> acpi_wmi(4): Add ACPI_PNP_INFO >> >> While the reason is obvious -- there's no EC in this system (Gigabyte >> X299X AORUS MASTER desktop motherboard), at least searching the >> `acpidump -dt` output doesn't show any PNP0C09 entries -- it certainly >> looks like "something is broken" when first noticed. I wonder if we >> could/should handle this gracefully -- no EC, do nothing, simply exit? > > Following patch should ignore missing EC like Linux does. Could you > test it? > > diff --git a/sys/dev/acpi_support/acpi_wmi.c > b/sys/dev/acpi_support/acpi_wmi.c > index 379cfd1705f1..efae96cdcc9a 100644 > --- a/sys/dev/acpi_support/acpi_wmi.c > +++ b/sys/dev/acpi_support/acpi_wmi.c > @@ -246,7 +246,7 @@ acpi_wmi_attach(device_t dev) > if ((sc->ec_dev = devclass_get_device(devclass_find("acpi_ec"), 0)) > == NULL) > device_printf(dev, "cannot find EC device\n"); > - else if (ACPI_FAILURE((status = > AcpiInstallNotifyHandler(sc->wmi_handle, > + if (ACPI_FAILURE((status = AcpiInstallNotifyHandler(sc->wmi_handle, > ACPI_DEVICE_NOTIFY, acpi_wmi_notify_handler, sc)))) > device_printf(sc->wmi_dev, "couldn't install notify handler - %s\n", > AcpiFormatException(status)); > @@ -701,6 +701,8 @@ acpi_wmi_ec_handler(UINT32 function, > ACPI_PHYSICAL_ADDRESS address, > return (AE_BAD_PARAMETER); > if (address + (width / 8) - 1 > 0xFF) > return (AE_BAD_ADDRESS); > + if (sc->ec_dev == NULL) > + return (AE_NOT_FOUND); > if (function == ACPI_READ) > *value = 0; > ec_addr = address; @#@##! Web client ate all the tabs. Patch is in attachment. -- WBR Vladimir Kondratyev --=_78f0970818859361063826d296ba337a Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=acpi_wmi.c.patch Content-Disposition: attachment; filename=acpi_wmi.c.patch; size=996 ZGlmZiAtLWdpdCBhL3N5cy9kZXYvYWNwaV9zdXBwb3J0L2FjcGlfd21pLmMgYi9zeXMvZGV2L2Fj cGlfc3VwcG9ydC9hY3BpX3dtaS5jCmluZGV4IDM3OWNmZDE3MDVmMS4uZWZhZTk2Y2RjYzlhIDEw MDY0NAotLS0gYS9zeXMvZGV2L2FjcGlfc3VwcG9ydC9hY3BpX3dtaS5jCisrKyBiL3N5cy9kZXYv YWNwaV9zdXBwb3J0L2FjcGlfd21pLmMKQEAgLTI0Niw3ICsyNDYsNyBAQCBhY3BpX3dtaV9hdHRh Y2goZGV2aWNlX3QgZGV2KQogCWlmICgoc2MtPmVjX2RldiA9IGRldmNsYXNzX2dldF9kZXZpY2Uo ZGV2Y2xhc3NfZmluZCgiYWNwaV9lYyIpLCAwKSkKIAkgICAgPT0gTlVMTCkKIAkJZGV2aWNlX3By aW50ZihkZXYsICJjYW5ub3QgZmluZCBFQyBkZXZpY2VcbiIpOwotCWVsc2UgaWYgKEFDUElfRkFJ TFVSRSgoc3RhdHVzID0gQWNwaUluc3RhbGxOb3RpZnlIYW5kbGVyKHNjLT53bWlfaGFuZGxlLAor CWlmIChBQ1BJX0ZBSUxVUkUoKHN0YXR1cyA9IEFjcGlJbnN0YWxsTm90aWZ5SGFuZGxlcihzYy0+ d21pX2hhbmRsZSwKIAkJICAgIEFDUElfREVWSUNFX05PVElGWSwgYWNwaV93bWlfbm90aWZ5X2hh bmRsZXIsIHNjKSkpKQogCQlkZXZpY2VfcHJpbnRmKHNjLT53bWlfZGV2LCAiY291bGRuJ3QgaW5z dGFsbCBub3RpZnkgaGFuZGxlciAtICVzXG4iLAogCQkgICAgQWNwaUZvcm1hdEV4Y2VwdGlvbihz dGF0dXMpKTsKQEAgLTcwMSw2ICs3MDEsOCBAQCBhY3BpX3dtaV9lY19oYW5kbGVyKFVJTlQzMiBm dW5jdGlvbiwgQUNQSV9QSFlTSUNBTF9BRERSRVNTIGFkZHJlc3MsCiAJCXJldHVybiAoQUVfQkFE X1BBUkFNRVRFUik7CiAJaWYgKGFkZHJlc3MgKyAod2lkdGggLyA4KSAtIDEgPiAweEZGKQogCQly ZXR1cm4gKEFFX0JBRF9BRERSRVNTKTsKKwlpZiAoc2MtPmVjX2RldiA9PSBOVUxMKQorCQlyZXR1 cm4gKEFFX05PVF9GT1VORCk7CiAJaWYgKGZ1bmN0aW9uID09IEFDUElfUkVBRCkKIAkJKnZhbHVl ID0gMDsKIAllY19hZGRyID0gYWRkcmVzczsK --=_78f0970818859361063826d296ba337a--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?fb0874b1cf4510a2d797a83a01d55935>