]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - queue-4.4/net-ks8851-reassert-reset-pin-if-chip-id-check-fails.patch
4.4-stable patches
[thirdparty/kernel/stable-queue.git] / queue-4.4 / net-ks8851-reassert-reset-pin-if-chip-id-check-fails.patch
CommitLineData
dcd32332
SL
1From 988c0a6135260e97da4b1eefb1bd7b32341a7dad Mon Sep 17 00:00:00 2001
2From: Lukas Wunner <lukas@wunner.de>
3Date: Wed, 20 Mar 2019 15:02:00 +0100
4Subject: net: ks8851: Reassert reset pin if chip ID check fails
5
6[ Upstream commit 761cfa979a0c177d6c2d93ef5585cd79ae49a7d5 ]
7
8Commit 73fdeb82e963 ("net: ks8851: Add optional vdd_io regulator and
9reset gpio") amended the ks8851 driver to briefly assert the chip's
10reset pin on probe. It also amended the probe routine's error path to
11reassert the reset pin if a subsequent initialization step fails.
12
13However the commit misplaced reassertion of the reset pin in the error
14path such that it is not performed if the check of the Chip ID and
15Enable Register (CIDER) fails. The error path is therefore slightly
16asymmetrical to the probe routine's body. Fix it.
17
18Signed-off-by: Lukas Wunner <lukas@wunner.de>
19Cc: Frank Pavlic <f.pavlic@kunbus.de>
20Cc: Stephen Boyd <sboyd@codeaurora.org>
21Cc: Nishanth Menon <nm@ti.com>
22Signed-off-by: David S. Miller <davem@davemloft.net>
23Signed-off-by: Sasha Levin (Microsoft) <sashal@kernel.org>
24---
25 drivers/net/ethernet/micrel/ks8851.c | 2 +-
26 1 file changed, 1 insertion(+), 1 deletion(-)
27
28diff --git a/drivers/net/ethernet/micrel/ks8851.c b/drivers/net/ethernet/micrel/ks8851.c
29index 247a3377b951..a8c5641ff955 100644
30--- a/drivers/net/ethernet/micrel/ks8851.c
31+++ b/drivers/net/ethernet/micrel/ks8851.c
32@@ -1567,9 +1567,9 @@ static int ks8851_probe(struct spi_device *spi)
33 free_irq(ndev->irq, ks);
34
35 err_irq:
36+err_id:
37 if (gpio_is_valid(gpio))
38 gpio_set_value(gpio, 0);
39-err_id:
40 regulator_disable(ks->vdd_reg);
41 err_reg:
42 regulator_disable(ks->vdd_io);
43--
442.19.1
45