]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
spi: dw-mmio: Clock should be shut when error occurs
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 10 Jul 2019 11:42:43 +0000 (14:42 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 5 Oct 2019 11:13:23 +0000 (13:13 +0200)
[ Upstream commit 3da9834d9381dd99273f2ad4e6d096c9187dc4f2 ]

When optional clock requesting fails, the main clock is still up and running,
we should shut it down in such caee.

Fixes: 560ee7e91009 ("spi: dw: Add support for an optional interface clock")
Cc: Phil Edworthy <phil.edworthy@renesas.com>
Cc: Gareth Williams <gareth.williams.jx@renesas.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Gareth Williams <gareth.williams.jx@renesas.com>
Link: https://lore.kernel.org/r/20190710114243.30101-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/spi/spi-dw-mmio.c

index 18c06568805e76276619fc1d1a66d32780aaadab..86789dbaf57718acfd0b6712c62a336d08ae0345 100644 (file)
@@ -172,8 +172,10 @@ static int dw_spi_mmio_probe(struct platform_device *pdev)
 
        /* Optional clock needed to access the registers */
        dwsmmio->pclk = devm_clk_get_optional(&pdev->dev, "pclk");
-       if (IS_ERR(dwsmmio->pclk))
-               return PTR_ERR(dwsmmio->pclk);
+       if (IS_ERR(dwsmmio->pclk)) {
+               ret = PTR_ERR(dwsmmio->pclk);
+               goto out_clk;
+       }
        ret = clk_prepare_enable(dwsmmio->pclk);
        if (ret)
                goto out_clk;