Dear Maintainer,
* What led up to the situation?
I upgraded my kernel version. To be clear, the issue first presented itself sometime around kernel version 6.15.
* What exactly did you do (or not do) that was effective (or
ineffective)?
When booting my machine, ACPI BIOS ERROR's appear, showing that Field D008 exceeds the target buffer size. I believe this causes something in the ACPI to act as if my machine's wifi kill switch is permanently on.
* What was the outcome of this action?
The wlan interface of my machine is unusable and cannot be unblocked using rfkill or setting kernel boot options
* What outcome did you expect instead?
The wifi to work.
So, specifically this is the error's I'm seeing on boot:
_AML_BUFFER_LIMIT, Field [D008] at bit offset/length 128/8 exceeds size of targe>
od \_SB.WMID.HWMC due to previous error (AE_AML_BUFFER_LIMIT) 20250807/psparse-5>
od \_SB.WMID.WMAD due to previous error (AE_AML_BUFFER_LIMIT) 20250807/psparse-5>
My own research points to this being an error in the dsdt section of ACPI.
I have my acpidump information - if this is useful then just let me know.
I've also seen a very similar looking issue get resolved in this thread: https://bugzilla.redhat.com/show_bug.cgi?id=1520703
This is the kernel announcement containing the fix for the bug in that thread: https://lwn.net/Articles/806395/
Many thanks,
Josh
Just seen that the error messages I pasted into my initial bug report were clipped. Here are the errors in full: [ 35.029627] ACPI BIOS Error (bug): AE_AML_BUFFER_LIMIT, Field [D008] at bit offset/length 128/8 exceeds size of target Buffer (128 bits) (20250807/dsopcode-198) [ 35.029663] ACPI Error: Aborting method \_SB.WMID.HWMC due to previous error (AE_AML_BUFFER_LIMIT) 20250807/psparse-529) [ 35.029688] ACPI Error: Aborting method \_SB.WMID.WMAD due to previous error (AE_AML_BUFFER_LIMIT) 20250807/psparse-529) Thanks, Josh
Hi, Em qua., 14 de out. de 2026, 22:27, Josh Burke <josh@joshburke.co.uk> escreveu: and HP laptops) attempts to write 8 bits starting at an offset of 128 within a 128-bit buffer—that is, one byte beyond its limit. The kernel interrupts only this specific method and proceeds with the boot process as usual. Often, these messages can be eliminated through adjustments. A 128-bit buffer is equivalent to a 16-byte block of memory (128 ÷ 8), with bits numbered from 0 to 127. Field D008 at offset 128, with a length of 8 bits: the firmware has declared a field named D008 that begins at bit 128 and occupies 8 bits (1 byte). However, bit 128 is the very first bit beyond the end of the buffer, which concludes at bit 127. Consequently, the entire field lies outside the buffer. An analogy: imagine a drawer with 16 compartments numbered 0 to 15, accompanied by an instruction to "place the object in compartment 16." That compartment does not exist. Why the kernel interrupts execution: the Linux ACPI interpreter checks these boundaries before accessing memory. Upon detecting that a field extends beyond the buffer, it returns `AE_AML_BUFFER_LIMIT` and cancels the method currently being executed (HWMC, as well as the method that called it, WMAD). Since the remainder of the boot process does not depend on this, it continues normally. Therefore, this is typically an issue related to the BIOS. Leandro