From: Sean Nyekjaer sean@geanix.com
commit 60552253e29c8860ee5bf1e6064591b0917c0394 upstream.
According to section "8.3.8 RST Pin" in the datasheet we are required to wait >700us after the device is reset.
Signed-off-by: Sean Nyekjaer sean@geanix.com Acked-by: Dan Murphy dmurphy@ti.com Cc: linux-stable stable@vger.kernel.org # >= v5.4 Signed-off-by: Marc Kleine-Budde mkl@pengutronix.de Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
--- drivers/net/can/m_can/tcan4x5x.c | 2 ++ 1 file changed, 2 insertions(+)
--- a/drivers/net/can/m_can/tcan4x5x.c +++ b/drivers/net/can/m_can/tcan4x5x.c @@ -354,6 +354,8 @@ static int tcan4x5x_parse_config(struct if (IS_ERR(tcan4x5x->reset_gpio)) tcan4x5x->reset_gpio = NULL;
+ usleep_range(700, 1000); + tcan4x5x->device_state_gpio = devm_gpiod_get_optional(cdev->dev, "device-state", GPIOD_IN);