--- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c
-@@ -785,16 +785,23 @@ static inline struct flexcan_priv *rx_of
+@@ -791,16 +791,23 @@ static inline struct flexcan_priv *rx_of
return container_of(offload, struct flexcan_priv, offload);
}
mb = flexcan_get_mb(priv, n);
if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {
-@@ -808,7 +815,7 @@ static unsigned int flexcan_mailbox_read
+@@ -814,7 +821,7 @@ static unsigned int flexcan_mailbox_read
code = reg_ctrl & FLEXCAN_MB_CODE_MASK;
if ((code != FLEXCAN_MB_CODE_RX_FULL) &&
(code != FLEXCAN_MB_CODE_RX_OVERRUN))
if (code == FLEXCAN_MB_CODE_RX_OVERRUN) {
/* This MB was overrun, we lost data */
-@@ -818,11 +825,17 @@ static unsigned int flexcan_mailbox_read
+@@ -824,11 +831,17 @@ static unsigned int flexcan_mailbox_read
} else {
reg_iflag1 = priv->read(®s->iflag1);
if (!(reg_iflag1 & FLEXCAN_IFLAG_RX_FIFO_AVAILABLE))
/* increase timstamp to full 32 bit */
*timestamp = reg_ctrl << 16;
-@@ -841,7 +854,7 @@ static unsigned int flexcan_mailbox_read
+@@ -847,7 +860,7 @@ static unsigned int flexcan_mailbox_read
*(__be32 *)(cf->data + i) = data;
}
if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {
/* Clear IRQ */
if (n < 32)
-@@ -858,7 +871,7 @@ static unsigned int flexcan_mailbox_read
+@@ -864,7 +877,7 @@ static unsigned int flexcan_mailbox_read
*/
priv->read(®s->timer);