[PATCH -next v2] thermal: rcar: fix missing unlock on error in rcar_thermal_update_temp()

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Mon Feb 25 10:54:47 EST 2013


Hi


> From: Wei Yongjun <yongjun_wei at trendmicro.com.cn>
> 
> Add the missing unlock before return from function rcar_thermal_update_temp()
> in the error handling case.
> 
> Signed-off-by: Wei Yongjun <yongjun_wei at trendmicro.com.cn>
> ---

Very nice !

Acked-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>

>  drivers/thermal/rcar_thermal.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/thermal/rcar_thermal.c b/drivers/thermal/rcar_thermal.c
> index 909bb4b..321a98d 100644
> --- a/drivers/thermal/rcar_thermal.c
> +++ b/drivers/thermal/rcar_thermal.c
> @@ -145,6 +145,7 @@ static int rcar_thermal_update_temp(struct rcar_thermal_priv *priv)
>  	struct device *dev = rcar_priv_to_dev(priv);
>  	int i;
>  	int ctemp, old, new;
> +	int ret = -EINVAL;
>  
>  	mutex_lock(&priv->lock);
>  
> @@ -174,7 +175,7 @@ static int rcar_thermal_update_temp(struct rcar_thermal_priv *priv)
>  
>  	if (!ctemp) {
>  		dev_err(dev, "thermal sensor was broken\n");
> -		return -EINVAL;
> +		goto err_out_unlock;
>  	}
>  
>  	/*
> @@ -192,10 +193,10 @@ static int rcar_thermal_update_temp(struct rcar_thermal_priv *priv)
>  	dev_dbg(dev, "thermal%d  %d -> %d\n", priv->id, priv->ctemp, ctemp);
>  
>  	priv->ctemp = ctemp;
> -
> +	ret = 0;
> +err_out_unlock:
>  	mutex_unlock(&priv->lock);
> -
> -	return 0;
> +	return ret;
>  }
>  
>  static int rcar_thermal_get_temp(struct thermal_zone_device *zone,
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pm" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


Best regards
---
Kuninori Morimoto


More information about the devicetree-discuss mailing list