Signed-off-by: Marc Kleine-Budde <[email protected]>
Cc: Barry Song <[email protected]>
Acked-by: Wolfgang Grandegger <[email protected]>
---
 drivers/net/can/bfin_can.c |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/drivers/net/can/bfin_can.c b/drivers/net/can/bfin_can.c
index b6e890d..07222ca 100644
--- a/drivers/net/can/bfin_can.c
+++ b/drivers/net/can/bfin_can.c
@@ -306,18 +306,19 @@ static void bfin_can_rx(struct net_device *dev, u16 isrc)
                             & 0x1ffc) >> 2;
                obj = RECEIVE_STD_CHL;
        }
-       if (bfin_read16(&reg->chl[obj].id1) & RTR)
-               cf->can_id |= CAN_RTR_FLAG;
 
        /* get data length code */
        cf->can_dlc = get_can_dlc(bfin_read16(&reg->chl[obj].dlc) & 0xF);
 
-       /* get payload */
-       for (i = 0; i < 8; i += 2) {
-               val = bfin_read16(&reg->chl[obj].data[i]);
-               cf->data[7 - i] = (7 - i) < cf->can_dlc ? val : 0;
-               cf->data[6 - i] = (6 - i) < cf->can_dlc ? (val >> 8) : 0;
-       }
+       if (bfin_read16(&reg->chl[obj].id1) & RTR)
+               cf->can_id |= CAN_RTR_FLAG;
+       else    /* get payload */
+               for (i = 0; i < 8; i += 2) {
+                       val = bfin_read16(&reg->chl[obj].data[i]);
+                       cf->data[7 - i] = (7 - i) < cf->can_dlc ? val : 0;
+                       cf->data[6 - i] = (6 - i) < cf->can_dlc ?
+                               (val >> 8) : 0;
+               }
 
        netif_rx(skb);
 
-- 
1.7.2.3

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

Reply via email to