mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-11-08 18:57:22 +00:00
hwmon: (pmbus) Fix passing events to regulator core
Sashiko reports: Commit754bd2b4a0("hwmon: (pmbus/core) Protect regulator operations with mutex") introduced a worker to batch regulator events over time using atomic_or(). The delayed worker then passes the combined bitmask unmodified to regulator_notifier_call_chain(). The core regulator subsystem's regulator_handle_critical() function evaluates the event parameter using a strict switch statement. If multiple distinct faults occur before the worker runs (e.g., REGULATOR_EVENT_UNDER_VOLTAGE | REGULATOR_EVENT_OVER_CURRENT), the combined bitmask fails to match any case. This leaves the reason as NULL and completely bypasses the critical hw_protection_trigger(). Fix the problem by passing events bit by bit to the regulator event handler. Reported-by: Sashiko <sashiko-bot@kernel.org> Fixes:754bd2b4a0("hwmon: (pmbus/core) Protect regulator operations with mutex") Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
72a6910103
commit
9ef7dacd44
1 changed files with 9 additions and 4 deletions
Loading…
Add table
Add a link
Reference in a new issue