Page MenuHomeFreeBSD

acpi_battery: Convert driver to CTLFLAG_MPSAFE
Needs ReviewPublic

Authored by seuros on Jan 9 2026, 3:22 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Sep 5, 2:43 AM
Unknown Object (File)
Fri, Sep 4, 7:40 PM
Unknown Object (File)
Fri, Aug 28, 9:27 AM
Unknown Object (File)
Aug 13 2026, 1:18 AM
Unknown Object (File)
Aug 12 2026, 12:55 AM
Unknown Object (File)
Aug 10 2026, 12:44 PM
Unknown Object (File)
Aug 9 2026, 8:06 PM
Unknown Object (File)
Aug 8 2026, 6:24 PM
Subscribers
None

Details

Reviewers
jhb
imp
markj
Summary

Replaced CTLFLAG_NEEDGIANT with CTLFLAG_MPSAFE for all battery status sysctls.

The driver uses ACPI_SERIAL locks for correct synchronization and does not require Giant lock.

Test Plan

hw.acpi.battery.* were functional after the conversion.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

seuros requested review of this revision.Jan 9 2026, 3:22 PM
seuros created this revision.

acpi_battery_get_battinfo() calls into the newbus layer and accesses some structures that are synchronized by the Giant lock. I think we need to at least acquire bus_topo_lock() in acpi_battery_get_battinfo().