hwmon: (pmbus_core) Fix Deadlock in pmbus_regulator_get_status
authorGuenter Roeck <linux@roeck-us.net>
Thu, 27 Jul 2023 03:18:13 +0000 (20:18 -0700)
committerGuenter Roeck <linux@roeck-us.net>
Thu, 27 Jul 2023 03:34:30 +0000 (20:34 -0700)
commitb84000f2274520f73ac9dc59fd9403260b61c4e7
treeb15d5873cc4f0ff81a49934c71118006f2bcd1b0
parent0bd66784274a287beada2933c2c0fa3a0ddae0d7
hwmon: (pmbus_core) Fix Deadlock in pmbus_regulator_get_status

pmbus_regulator_get_status() acquires update_lock.
pmbus_regulator_get_error_flags() acquires it again, resulting in an
immediate deadlock.

Call _pmbus_get_flags() from pmbus_regulator_get_status() directly
to avoid the problem.

Reported-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Closes: https://lore.kernel.org/linux-hwmon/b7a3ad85-aab4-4718-a001-1d8b1c0eef36@roeck-us.net/T/#u
Cc: Naresh Solanki <Naresh.Solanki@9elements.com>
Cc: stable@vger.kernel.org # v6.2+
Fixes: c05f477c4ba3 ("hwmon: (pmbus/core) Implement regulator get_status")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/pmbus/pmbus_core.c