spi: st-ssc4: Fix missing spi_master_put in spi_st_probe error paths
[linux-2.6-microblaze.git] / drivers / spi / spi-st-ssc4.c
index f17c0ab..d5adf9f 100644 (file)
@@ -345,12 +345,13 @@ static int spi_st_probe(struct platform_device *pdev)
        spi_st->clk = devm_clk_get(&pdev->dev, "ssc");
        if (IS_ERR(spi_st->clk)) {
                dev_err(&pdev->dev, "Unable to request clock\n");
-               return PTR_ERR(spi_st->clk);
+               ret = PTR_ERR(spi_st->clk);
+               goto put_master;
        }
 
        ret = spi_st_clk_enable(spi_st);
        if (ret)
-               return ret;
+               goto put_master;
 
        init_completion(&spi_st->done);
 
@@ -408,7 +409,8 @@ static int spi_st_probe(struct platform_device *pdev)
 
 clk_disable:
        spi_st_clk_disable(spi_st);
-
+put_master:
+       spi_master_put(master);
        return ret;
 }