Signed-off-by: Marc Kleine-Budde <[email protected]>
Acked-by: Wolfgang Grandegger <[email protected]>
---
 drivers/net/can/at91_can.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/net/can/at91_can.c b/drivers/net/can/at91_can.c
index 7ef83d0..53c6598 100644
--- a/drivers/net/can/at91_can.c
+++ b/drivers/net/can/at91_can.c
@@ -491,12 +491,14 @@ static void at91_read_mb(struct net_device *dev, unsigned 
int mb,
                cf->can_id = (reg_mid >> 18) & CAN_SFF_MASK;
 
        reg_msr = at91_read(priv, AT91_MSR(mb));
-       if (reg_msr & AT91_MSR_MRTR)
-               cf->can_id |= CAN_RTR_FLAG;
        cf->can_dlc = get_can_dlc((reg_msr >> 16) & 0xf);
 
-       *(u32 *)(cf->data + 0) = at91_read(priv, AT91_MDL(mb));
-       *(u32 *)(cf->data + 4) = at91_read(priv, AT91_MDH(mb));
+       if (reg_msr & AT91_MSR_MRTR)
+               cf->can_id |= CAN_RTR_FLAG;
+       else {
+               *(u32 *)(cf->data + 0) = at91_read(priv, AT91_MDL(mb));
+               *(u32 *)(cf->data + 4) = at91_read(priv, AT91_MDH(mb));
+       }
 
        /* allow RX of extended frames */
        at91_write(priv, AT91_MID(mb), AT91_MID_MIDE);
-- 
1.7.2.3

_______________________________________________
Socketcan-core mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/socketcan-core

Reply via email to