1 From foo@baz Sat Jul 28 10:25:26 CEST 2018
2 From: Alexey Khoroshilov <khoroshilov@ispras.ru>
3 Date: Sun, 29 Apr 2018 01:46:23 +0300
4 Subject: spi: meson-spicc: Fix error handling in meson_spicc_probe()
6 From: Alexey Khoroshilov <khoroshilov@ispras.ru>
8 [ Upstream commit ded5fa4e8bac25612caab8f0822691308a28a552 ]
10 If devm_spi_register_master() fails in meson_spicc_probe(),
11 spicc->core is left undisabled. The patch fixes that.
13 Found by Linux Driver Verification project (linuxtesting.org).
15 Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
16 Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
17 Signed-off-by: Mark Brown <broonie@kernel.org>
18 Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
19 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
21 drivers/spi/spi-meson-spicc.c | 11 ++++++++---
22 1 file changed, 8 insertions(+), 3 deletions(-)
24 --- a/drivers/spi/spi-meson-spicc.c
25 +++ b/drivers/spi/spi-meson-spicc.c
26 @@ -574,10 +574,15 @@ static int meson_spicc_probe(struct plat
27 master->max_speed_hz = rate >> 2;
29 ret = devm_spi_register_master(&pdev->dev, master);
33 + dev_err(&pdev->dev, "spi master registration failed\n");
37 - dev_err(&pdev->dev, "spi master registration failed\n");
41 + clk_disable_unprepare(spicc->core);
44 spi_master_put(master);