diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0726-can-mcp251x-Allow-more-time-after-a-reset.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.19/950-0726-can-mcp251x-Allow-more-time-after-a-reset.patch | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0726-can-mcp251x-Allow-more-time-after-a-reset.patch b/target/linux/brcm2708/patches-4.19/950-0726-can-mcp251x-Allow-more-time-after-a-reset.patch deleted file mode 100644 index a5863dff3b..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0726-can-mcp251x-Allow-more-time-after-a-reset.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 9f29c6c8865de6f2dc200cb4c59a447d0884a6b3 Mon Sep 17 00:00:00 2001 -From: Phil Elwell <phil@raspberrypi.org> -Date: Thu, 1 Aug 2019 08:58:48 +0100 -Subject: [PATCH 726/806] can: mcp251x: Allow more time after a reset - -Some boards take longer than 5ms to power up after a reset, so allow -a few retry attempts before giving up. - -See: https://github.com/raspberrypi/linux/issues/2767 - -Signed-off-by: Phil Elwell <phil@raspberrypi.org> ---- - drivers/net/can/spi/mcp251x.c | 15 ++++++++++++--- - 1 file changed, 12 insertions(+), 3 deletions(-) - ---- a/drivers/net/can/spi/mcp251x.c -+++ b/drivers/net/can/spi/mcp251x.c -@@ -628,6 +628,7 @@ static int mcp251x_hw_reset(struct spi_d - struct mcp251x_priv *priv = spi_get_drvdata(spi); - u8 reg; - int ret; -+ int retries = 10; - - /* Wait for oscillator startup timer after power up */ - mdelay(MCP251X_OST_DELAY_MS); -@@ -637,10 +638,18 @@ static int mcp251x_hw_reset(struct spi_d - if (ret) - return ret; - -- /* Wait for oscillator startup timer after reset */ -- mdelay(MCP251X_OST_DELAY_MS); -+ /* -+ * Wait for oscillator startup timer after reset -+ * -+ * Some devices can take longer than the expected 5ms to wake -+ * up, so allow a few retries. -+ */ -+ -+ do { -+ mdelay(MCP251X_OST_DELAY_MS); -+ reg = mcp251x_read_reg(spi, CANSTAT); -+ } while (!reg && retries--); - -- reg = mcp251x_read_reg(spi, CANSTAT); - if ((reg & CANCTRL_REQOP_MASK) != CANCTRL_REQOP_CONF) - return -ENODEV; - |