[PATCH] regulator: fp9931: Fix PM runtime reference leak in fp9931_hwmon_read()

From: Felix Gu

Date: Tue Feb 24 2026 - 05:08:33 EST


In fp9931_hwmon_read(), if regmap_read() failed, the function returned
the error code without calling pm_runtime_put_autosuspend(), causing
a PM reference leak.

Fixes: 12d821bd13d4 ("regulator: Add FP9931/JD9930 driver")
Signed-off-by: Felix Gu <ustc.gu@xxxxxxxxx>
---
drivers/regulator/fp9931.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/regulator/fp9931.c b/drivers/regulator/fp9931.c
index 7fbcc6327cc6..abea3b69d8a0 100644
--- a/drivers/regulator/fp9931.c
+++ b/drivers/regulator/fp9931.c
@@ -144,13 +144,12 @@ static int fp9931_hwmon_read(struct device *dev, enum hwmon_sensor_types type,
return ret;

ret = regmap_read(data->regmap, FP9931_REG_TMST_VALUE, &val);
- if (ret)
- return ret;
+ if (!ret)
+ *temp = (s8)val * 1000;

pm_runtime_put_autosuspend(data->dev);
- *temp = (s8)val * 1000;

- return 0;
+ return ret;
}

static umode_t fp9931_hwmon_is_visible(const void *data,

---
base-commit: 779cae956c8316aebc1946ef86ca001f99658270
change-id: 20260224-fp9931-e4142f2e1ab1

Best regards,
--
Felix Gu <ustc.gu@xxxxxxxxx>