]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/4.14.60/spi-meson-spicc-fix-error-handling-in-meson_spicc_probe.patch
Remove duplicated commits
[thirdparty/kernel/stable-queue.git] / releases / 4.14.60 / spi-meson-spicc-fix-error-handling-in-meson_spicc_probe.patch
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()
5
6 From: Alexey Khoroshilov <khoroshilov@ispras.ru>
7
8 [ Upstream commit ded5fa4e8bac25612caab8f0822691308a28a552 ]
9
10 If devm_spi_register_master() fails in meson_spicc_probe(),
11 spicc->core is left undisabled. The patch fixes that.
12
13 Found by Linux Driver Verification project (linuxtesting.org).
14
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>
20 ---
21 drivers/spi/spi-meson-spicc.c | 11 ++++++++---
22 1 file changed, 8 insertions(+), 3 deletions(-)
23
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;
28
29 ret = devm_spi_register_master(&pdev->dev, master);
30 - if (!ret)
31 - return 0;
32 + if (ret) {
33 + dev_err(&pdev->dev, "spi master registration failed\n");
34 + goto out_clk;
35 + }
36
37 - dev_err(&pdev->dev, "spi master registration failed\n");
38 + return 0;
39 +
40 +out_clk:
41 + clk_disable_unprepare(spicc->core);
42
43 out_master:
44 spi_master_put(master);