summaryrefslogtreecommitdiff
path: root/drivers/net/can
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/can')
-rw-r--r--drivers/net/can/spi/mcp25xxfd/mcp25xxfd_can.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_can.c b/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_can.c
index 91de7ac3ec73..e8b0fe79309d 100644
--- a/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_can.c
+++ b/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_can.c
@@ -230,6 +230,10 @@ int mcp25xxfd_can_switch_mode_no_wait(struct mcp25xxfd_priv *priv,
reg = &dummy;
}
+ /* going out of configuration mode always reset tef.index */
+ if( ((*reg & MCP25XXFD_CAN_CON_OPMOD_MASK) >> MCP25XXFD_CAN_CON_OPMOD_SHIFT) == 4 )
+ priv->cpriv->fifos.tef.index = 0;
+
/* compute the effective mode in osc*/
*reg &= ~(MCP25XXFD_CAN_CON_REQOP_MASK |
MCP25XXFD_CAN_CON_OPMOD_MASK);