diff options
author | 2018-08-01 19:36:46 +0530 | |
---|---|---|
committer | 2018-11-09 17:20:12 +0100 | |
commit | 5178b7cd8e42448b1041716f124734eaaa36ca50 (patch) | |
tree | 62c9b23882d44086203db4e1f38fea778caf0042 /drivers | |
parent | can: hi311x: Use level-triggered interrupt (diff) | |
download | linux-5178b7cd8e42448b1041716f124734eaaa36ca50.tar.gz linux-5178b7cd8e42448b1041716f124734eaaa36ca50.tar.bz2 linux-5178b7cd8e42448b1041716f124734eaaa36ca50.zip |
can: flexcan: Unlock the MB unconditionally
Unlock the MB irrespective of reception method being FIFO or timestamp
based. It is optional but recommended to unlock Mailbox as soon as
possible and make it available for reception.
Reported-by: Alexander Stein <alexander.stein@systec-electronic.com>
Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com>
Cc: linux-stable <stable@vger.kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/can/flexcan.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c index 8e972ef08637..0431f8d05518 100644 --- a/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c @@ -720,9 +720,14 @@ static unsigned int flexcan_mailbox_read(struct can_rx_offload *offload, priv->write(BIT(n - 32), ®s->iflag2); } else { priv->write(FLEXCAN_IFLAG_RX_FIFO_AVAILABLE, ®s->iflag1); - priv->read(®s->timer); } + /* Read the Free Running Timer. It is optional but recommended + * to unlock Mailbox as soon as possible and make it available + * for reception. + */ + priv->read(®s->timer); + return 1; } |