summaryrefslogtreecommitdiffstats
path: root/kernel/drivers/net/can/bfin_can.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/drivers/net/can/bfin_can.c')
-rw-r--r--kernel/drivers/net/can/bfin_can.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/kernel/drivers/net/can/bfin_can.c b/kernel/drivers/net/can/bfin_can.c
index 27ad312e7..1deb8ff90 100644
--- a/kernel/drivers/net/can/bfin_can.c
+++ b/kernel/drivers/net/can/bfin_can.c
@@ -424,10 +424,9 @@ static void bfin_can_rx(struct net_device *dev, u16 isrc)
cf->data[6 - i] = (6 - i) < cf->can_dlc ? (val >> 8) : 0;
}
- netif_rx(skb);
-
stats->rx_packets++;
stats->rx_bytes += cf->can_dlc;
+ netif_rx(skb);
}
static int bfin_can_err(struct net_device *dev, u16 isrc, u16 status)
@@ -502,16 +501,13 @@ static int bfin_can_err(struct net_device *dev, u16 isrc, u16 status)
cf->data[2] |= CAN_ERR_PROT_FORM;
else if (status & SER)
cf->data[2] |= CAN_ERR_PROT_STUFF;
- else
- cf->data[2] |= CAN_ERR_PROT_UNSPEC;
}
priv->can.state = state;
- netif_rx(skb);
-
stats->rx_packets++;
stats->rx_bytes += cf->can_dlc;
+ netif_rx(skb);
return 0;
}