From abbeaf2f2f164e6c57151f24b44fa8b25356ba48 Mon Sep 17 00:00:00 2001 From: Ban Feng Date: Wed, 22 Jul 2026 08:59:37 +0800 Subject: [PATCH] hwmon: nct7363: fix mutex leak Signed-off-by: Ban Feng --- drivers/hwmon/nct7363.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/hwmon/nct7363.c b/drivers/hwmon/nct7363.c index 4a8a771a29ffc1..9690f6e540a4fe 100644 --- a/drivers/hwmon/nct7363.c +++ b/drivers/hwmon/nct7363.c @@ -79,7 +79,7 @@ static int nct7363_read_fan(struct device *dev, u32 attr, int channel, { struct nct7363_data *data = dev_get_drvdata(dev); unsigned int hi, lo, rpm; - int ret = 0; + int ret; u16 cnt; switch (attr) { @@ -92,18 +92,21 @@ static int nct7363_read_fan(struct device *dev, u32 attr, int channel, ret = regmap_read(data->regmap, NCT7363_REG_FANINX_HVAL(channel), &hi); if (ret) - return ret; + goto out_unlock; ret = regmap_read(data->regmap, NCT7363_REG_FANINX_LVAL(channel), &lo); if (ret) - return ret; - mutex_unlock(&data->lock); + goto out_unlock; cnt = (hi << 5) | (lo & NCT7363_FANINX_LVAL_MASK); rpm = FAN_FROM_REG(cnt); *val = (long)rpm; - return 0; + ret = 0; + +out_unlock: + mutex_unlock(&data->lock); + return ret; default: return -EOPNOTSUPP; }