Date: Wed, 02 Oct 2024 18:31:12 +0000 From: bugzilla-noreply@freebsd.org To: acpi@FreeBSD.org Subject: [Bug 252030] No battery reading after upgrade to 12.2-RELEASE Fujitsu lifebook s936 Message-ID: <bug-252030-16045-ohE50mVArq@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-252030-16045@https.bugs.freebsd.org/bugzilla/> References: <bug-252030-16045@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D252030 --- Comment #7 from commit-hook@FreeBSD.org --- A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3Dcd8c3af747cc300c8257c315c7576644e= 2bb86ff commit cd8c3af747cc300c8257c315c7576644e2bb86ff Author: Bartosz Fabianowski <freebsd@chillt.de> AuthorDate: 2024-10-02 18:21:28 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2024-10-02 18:30:15 +0000 ACPI: Treat all 20-element _BIX entires as revision 0 Some Fujitsu Lifebooks return an invalid _BIX object. The first element of _BIX is a revision number, which indicates what elements will follow: * ACPI 4.0 defined _BIX revision 0 with 20 elements. * ACPI 6.0 introduced _BIX revision 1 with 21 elements. The problem is that the offending Lifebooks have the a non-zero _BIX revision, but provide 20 fields only. The ACPICA parser chokes on this [1], but that seems to be inconsequential. More importantly, our own battery info handling code also verifies that for revision > 0, there are at least 21 fields - and refuses to process the invalid _BIX. One workaround would be to introduce special case / quirk handling for Fujitsu Lifebooks. A better one is to relax the requirements check: If there are only 20 elements, treat the _BIX as revision 0, no matter what revision number was provided by the device. Linux doesn't run into this problem by the way because it only supports the 20 fields defined in the ACPI 4.0 spec [3]. It never looks at the revision number or the 21st field added in ACPI 6.0. [1] https://cgit.freebsd.org/src/tree/sys/contrib/dev/acpica/components/namespa= ce/nsprepkg.c#n815 [2] https://cgit.freebsd.org/src/tree/sys/dev/acpica/acpi_cmbat.c#n371 [3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/dri= vers/acpi/battery.c#n418 PR: 252030 Reviewed by: imp MFC After: 2 weeks sys/dev/acpica/acpi_cmbat.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) --=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-252030-16045-ohE50mVArq>