thermal: ti-soc-thermal: add missing clk_put()
authorLuis Henriques <henrix@camandro.org>
Wed, 16 Nov 2016 22:15:22 +0000 (22:15 +0000)
committerZhang Rui <rui.zhang@intel.com>
Wed, 23 Nov 2016 02:07:35 +0000 (10:07 +0800)
This patch fixes the following Coccinelle error:

./drivers/thermal/ti-soc-thermal/ti-bandgap.c:1441:1-7: \
ERROR: missing clk_put; clk_get on line 1290 \
and execution via conditional on line 1298

Signed-off-by: Luis Henriques <henrix@camandro.org>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
drivers/thermal/ti-soc-thermal/ti-bandgap.c

index 06ea976..ba9c302 100644 (file)
@@ -1298,7 +1298,7 @@ int ti_bandgap_probe(struct platform_device *pdev)
        if (IS_ERR(bgp->div_clk)) {
                dev_err(&pdev->dev, "failed to request div_ts_ck clock ref\n");
                ret = PTR_ERR(bgp->div_clk);
-               goto free_irqs;
+               goto put_fclock;
        }
 
        for (i = 0; i < bgp->conf->sensor_count; i++) {
@@ -1430,8 +1430,9 @@ disable_clk:
        if (TI_BANDGAP_HAS(bgp, CLK_CTRL))
                clk_disable_unprepare(bgp->fclock);
 put_clks:
-       clk_put(bgp->fclock);
        clk_put(bgp->div_clk);
+put_fclock:
+       clk_put(bgp->fclock);
 free_irqs:
        if (TI_BANDGAP_HAS(bgp, TSHUT)) {
                free_irq(gpio_to_irq(bgp->tshut_gpio), NULL);