summaryrefslogtreecommitdiffstats
path: root/drivers/spi
diff options
context:
space:
mode:
authorShubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>2016-05-04 17:27:50 +0530
committerMark Brown <broonie@kernel.org>2016-05-04 14:21:03 +0100
commitba412e343d8bd628c1568a9b130210cc7d55e01c (patch)
tree3a1984507ca6f5e9863bda3a9620b3bca13f9b75 /drivers/spi
parentf55532a0c0b8bb6148f4e07853b876ef73bc69ca (diff)
downloadlinux-ba412e343d8bd628c1568a9b130210cc7d55e01c.tar.gz
linux-ba412e343d8bd628c1568a9b130210cc7d55e01c.tar.bz2
linux-ba412e343d8bd628c1568a9b130210cc7d55e01c.zip
spi: zynqmp: disable clocks in error paths
The if pclk enable fails the refclk is not disabled. Fix the same. Signed-off-by: Shubhrajyoti Datta <shubhraj@xilinx.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-zynqmp-gqspi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/spi/spi-zynqmp-gqspi.c b/drivers/spi/spi-zynqmp-gqspi.c
index aab9b492c627..18aeaceee286 100644
--- a/drivers/spi/spi-zynqmp-gqspi.c
+++ b/drivers/spi/spi-zynqmp-gqspi.c
@@ -360,7 +360,7 @@ static int zynqmp_prepare_transfer_hardware(struct spi_master *master)
ret = clk_enable(xqspi->refclk);
if (ret)
- goto clk_err;
+ return ret;
ret = clk_enable(xqspi->pclk);
if (ret)
@@ -369,6 +369,7 @@ static int zynqmp_prepare_transfer_hardware(struct spi_master *master)
zynqmp_gqspi_write(xqspi, GQSPI_EN_OFST, GQSPI_EN_MASK);
return 0;
clk_err:
+ clk_disable(xqspi->refclk);
return ret;
}