]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
power: sequencing: fix missing state_lock in pwrseq_power_on() error path
authorZiyi Guo <n7l8m4@u.northwestern.edu>
Fri, 30 Jan 2026 18:26:51 +0000 (18:26 +0000)
committerBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Wed, 4 Feb 2026 10:26:14 +0000 (11:26 +0100)
commite1dccb485c2876ac1318f36ccc0155416c633a48
tree3eaa0c763430ba6fab84399eea8eb6ca0045ec69
parent52e7b5bd62bab3851f25d8b70ad7eae9e94aba60
power: sequencing: fix missing state_lock in pwrseq_power_on() error path

pwrseq_power_on() calls pwrseq_unit_disable() when the
post_enable callback fails. However, this call is outside the
scoped_guard(mutex, &pwrseq->state_lock) block that ends.

pwrseq_unit_disable() has lockdep_assert_held(&pwrseq->state_lock),
which will fail when called from this error path.

Add the scoped_guard block to cover the post_enable callback and its
error handling to ensure the lock is held when pwrseq_unit_disable() is
called.

Signed-off-by: Ziyi Guo <n7l8m4@u.northwestern.edu>
Link: https://patch.msgid.link/20260130182651.1576579-1-n7l8m4@u.northwestern.edu
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
drivers/power/sequencing/core.c