[PATCH v1 0/8] ACPI: bus: Rework of the \_SB._OSC handling

Rafael J. Wysocki
2025-12-18T20:43:35Z

Hi All,

While this is a replacement for

https://lore.kernel.org/linux-acpi/12803663.O9o76ZdvQC@rafael.j.wysocki/

it goes much farther than the simple workaround, so I've decided to start
over version numbering from 1.

The motivation is (again) to make the _OSC evaluation more robust against
platform firmware deficiencies related to setting error bits in _OSC
return buffers by mistake (which apparently don't affect alternative OSes),
but the approach is more in-depth now.

The first 5 patches are preliminary. The first one fixes the current
inconsistent handling of _OSC error bits. The second one reworks the
printing of debug messages from acpi_run_osc() for clarity. Patch
[3/8] splits the _OSC evaluation code out of acpi_run_osc() (so it
can be used in other functions), and patch [4/8] splits the handling
of _OSC error bits out of it (for the same purpose). Patch [5/8] is
just a by-the-way simple cleanup.

Patch [6/8] introduces a new function for handling _OSC handshakes in
a way that should be less susceptible to failing in certain cases due
to platform firmware mistakes that should not be fatal and makes the
\_SB._OSC platform features handling code use it.

Patch [7/8] is a cleanup on top of the previous one, and patch [8/8]
updates the USB4 \_SB._OSC features handling to use the new function
introduced in patch [8/8].

Thanks!