diff options
author | Dave Airlie <airlied@redhat.com> | 2015-08-17 00:13:53 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2015-08-17 00:13:53 -0400 |
commit | 4eebf60b7452fbd551fd7dece855ba7825a49cbc (patch) | |
tree | 490b4d194ba09c90e10201ab7fc084a0bda0ed27 /drivers/net/can | |
parent | 8f9cb50789e76f3e224e8861adf650e55c747af4 (diff) | |
parent | 2c6625cd545bdd66acff14f3394865d43920a5c7 (diff) |
Merge tag 'v4.2-rc7' into drm-next
Linux 4.2-rc7
Backmerge master for i915 fixes
Diffstat (limited to 'drivers/net/can')
-rw-r--r-- | drivers/net/can/at91_can.c | 8 | ||||
-rw-r--r-- | drivers/net/can/bfin_can.c | 6 | ||||
-rw-r--r-- | drivers/net/can/cc770/cc770.c | 4 | ||||
-rw-r--r-- | drivers/net/can/flexcan.c | 7 | ||||
-rw-r--r-- | drivers/net/can/grcan.c | 3 | ||||
-rw-r--r-- | drivers/net/can/sja1000/sja1000.c | 6 | ||||
-rw-r--r-- | drivers/net/can/slcan.c | 2 | ||||
-rw-r--r-- | drivers/net/can/spi/mcp251x.c | 17 | ||||
-rw-r--r-- | drivers/net/can/ti_hecc.c | 2 | ||||
-rw-r--r-- | drivers/net/can/usb/ems_usb.c | 6 | ||||
-rw-r--r-- | drivers/net/can/usb/esd_usb2.c | 6 | ||||
-rw-r--r-- | drivers/net/can/usb/peak_usb/pcan_usb.c | 7 | ||||
-rw-r--r-- | drivers/net/can/usb/peak_usb/pcan_usb_pro.c | 4 | ||||
-rw-r--r-- | drivers/net/can/usb/usb_8dev.c | 6 |
14 files changed, 36 insertions, 48 deletions
diff --git a/drivers/net/can/at91_can.c b/drivers/net/can/at91_can.c index f4e40aa4d2a2..945c0955a967 100644 --- a/drivers/net/can/at91_can.c +++ b/drivers/net/can/at91_can.c | |||
@@ -577,10 +577,10 @@ static void at91_rx_overflow_err(struct net_device *dev) | |||
577 | 577 | ||
578 | cf->can_id |= CAN_ERR_CRTL; | 578 | cf->can_id |= CAN_ERR_CRTL; |
579 | cf->data[1] = CAN_ERR_CRTL_RX_OVERFLOW; | 579 | cf->data[1] = CAN_ERR_CRTL_RX_OVERFLOW; |
580 | netif_receive_skb(skb); | ||
581 | 580 | ||
582 | stats->rx_packets++; | 581 | stats->rx_packets++; |
583 | stats->rx_bytes += cf->can_dlc; | 582 | stats->rx_bytes += cf->can_dlc; |
583 | netif_receive_skb(skb); | ||
584 | } | 584 | } |
585 | 585 | ||
586 | /** | 586 | /** |
@@ -642,10 +642,10 @@ static void at91_read_msg(struct net_device *dev, unsigned int mb) | |||
642 | } | 642 | } |
643 | 643 | ||
644 | at91_read_mb(dev, mb, cf); | 644 | at91_read_mb(dev, mb, cf); |
645 | netif_receive_skb(skb); | ||
646 | 645 | ||
647 | stats->rx_packets++; | 646 | stats->rx_packets++; |
648 | stats->rx_bytes += cf->can_dlc; | 647 | stats->rx_bytes += cf->can_dlc; |
648 | netif_receive_skb(skb); | ||
649 | 649 | ||
650 | can_led_event(dev, CAN_LED_EVENT_RX); | 650 | can_led_event(dev, CAN_LED_EVENT_RX); |
651 | } | 651 | } |
@@ -802,10 +802,10 @@ static int at91_poll_err(struct net_device *dev, int quota, u32 reg_sr) | |||
802 | return 0; | 802 | return 0; |
803 | 803 | ||
804 | at91_poll_err_frame(dev, cf, reg_sr); | 804 | at91_poll_err_frame(dev, cf, reg_sr); |
805 | netif_receive_skb(skb); | ||
806 | 805 | ||
807 | dev->stats.rx_packets++; | 806 | dev->stats.rx_packets++; |
808 | dev->stats.rx_bytes += cf->can_dlc; | 807 | dev->stats.rx_bytes += cf->can_dlc; |
808 | netif_receive_skb(skb); | ||
809 | 809 | ||
810 | return 1; | 810 | return 1; |
811 | } | 811 | } |
@@ -1067,10 +1067,10 @@ static void at91_irq_err(struct net_device *dev) | |||
1067 | return; | 1067 | return; |
1068 | 1068 | ||
1069 | at91_irq_err_state(dev, cf, new_state); | 1069 | at91_irq_err_state(dev, cf, new_state); |
1070 | netif_rx(skb); | ||
1071 | 1070 | ||
1072 | dev->stats.rx_packets++; | 1071 | dev->stats.rx_packets++; |
1073 | dev->stats.rx_bytes += cf->can_dlc; | 1072 | dev->stats.rx_bytes += cf->can_dlc; |
1073 | netif_rx(skb); | ||
1074 | 1074 | ||
1075 | priv->can.state = new_state; | 1075 | priv->can.state = new_state; |
1076 | } | 1076 | } |
diff --git a/drivers/net/can/bfin_can.c b/drivers/net/can/bfin_can.c index 27ad312e7abf..57dadd52b428 100644 --- a/drivers/net/can/bfin_can.c +++ b/drivers/net/can/bfin_can.c | |||
@@ -424,10 +424,9 @@ static void bfin_can_rx(struct net_device *dev, u16 isrc) | |||
424 | cf->data[6 - i] = (6 - i) < cf->can_dlc ? (val >> 8) : 0; | 424 | cf->data[6 - i] = (6 - i) < cf->can_dlc ? (val >> 8) : 0; |
425 | } | 425 | } |
426 | 426 | ||
427 | netif_rx(skb); | ||
428 | |||
429 | stats->rx_packets++; | 427 | stats->rx_packets++; |
430 | stats->rx_bytes += cf->can_dlc; | 428 | stats->rx_bytes += cf->can_dlc; |
429 | netif_rx(skb); | ||
431 | } | 430 | } |
432 | 431 | ||
433 | static int bfin_can_err(struct net_device *dev, u16 isrc, u16 status) | 432 | static int bfin_can_err(struct net_device *dev, u16 isrc, u16 status) |
@@ -508,10 +507,9 @@ static int bfin_can_err(struct net_device *dev, u16 isrc, u16 status) | |||
508 | 507 | ||
509 | priv->can.state = state; | 508 | priv->can.state = state; |
510 | 509 | ||
511 | netif_rx(skb); | ||
512 | |||
513 | stats->rx_packets++; | 510 | stats->rx_packets++; |
514 | stats->rx_bytes += cf->can_dlc; | 511 | stats->rx_bytes += cf->can_dlc; |
512 | netif_rx(skb); | ||
515 | 513 | ||
516 | return 0; | 514 | return 0; |
517 | } | 515 | } |
diff --git a/drivers/net/can/cc770/cc770.c b/drivers/net/can/cc770/cc770.c index c11d44984036..70a8cbb29e75 100644 --- a/drivers/net/can/cc770/cc770.c +++ b/drivers/net/can/cc770/cc770.c | |||
@@ -504,10 +504,10 @@ static void cc770_rx(struct net_device *dev, unsigned int mo, u8 ctrl1) | |||
504 | for (i = 0; i < cf->can_dlc; i++) | 504 | for (i = 0; i < cf->can_dlc; i++) |
505 | cf->data[i] = cc770_read_reg(priv, msgobj[mo].data[i]); | 505 | cf->data[i] = cc770_read_reg(priv, msgobj[mo].data[i]); |
506 | } | 506 | } |
507 | netif_rx(skb); | ||
508 | 507 | ||
509 | stats->rx_packets++; | 508 | stats->rx_packets++; |
510 | stats->rx_bytes += cf->can_dlc; | 509 | stats->rx_bytes += cf->can_dlc; |
510 | netif_rx(skb); | ||
511 | } | 511 | } |
512 | 512 | ||
513 | static int cc770_err(struct net_device *dev, u8 status) | 513 | static int cc770_err(struct net_device *dev, u8 status) |
@@ -584,10 +584,10 @@ static int cc770_err(struct net_device *dev, u8 status) | |||
584 | } | 584 | } |
585 | } | 585 | } |
586 | 586 | ||
587 | netif_rx(skb); | ||
588 | 587 | ||
589 | stats->rx_packets++; | 588 | stats->rx_packets++; |
590 | stats->rx_bytes += cf->can_dlc; | 589 | stats->rx_bytes += cf->can_dlc; |
590 | netif_rx(skb); | ||
591 | 591 | ||
592 | return 0; | 592 | return 0; |
593 | } | 593 | } |
diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c index 6201c5a1a884..b1e8d729851c 100644 --- a/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c | |||
@@ -577,10 +577,10 @@ static int flexcan_poll_bus_err(struct net_device *dev, u32 reg_esr) | |||
577 | return 0; | 577 | return 0; |
578 | 578 | ||
579 | do_bus_err(dev, cf, reg_esr); | 579 | do_bus_err(dev, cf, reg_esr); |
580 | netif_receive_skb(skb); | ||
581 | 580 | ||
582 | dev->stats.rx_packets++; | 581 | dev->stats.rx_packets++; |
583 | dev->stats.rx_bytes += cf->can_dlc; | 582 | dev->stats.rx_bytes += cf->can_dlc; |
583 | netif_receive_skb(skb); | ||
584 | 584 | ||
585 | return 1; | 585 | return 1; |
586 | } | 586 | } |
@@ -622,10 +622,9 @@ static int flexcan_poll_state(struct net_device *dev, u32 reg_esr) | |||
622 | if (unlikely(new_state == CAN_STATE_BUS_OFF)) | 622 | if (unlikely(new_state == CAN_STATE_BUS_OFF)) |
623 | can_bus_off(dev); | 623 | can_bus_off(dev); |
624 | 624 | ||
625 | netif_receive_skb(skb); | ||
626 | |||
627 | dev->stats.rx_packets++; | 625 | dev->stats.rx_packets++; |
628 | dev->stats.rx_bytes += cf->can_dlc; | 626 | dev->stats.rx_bytes += cf->can_dlc; |
627 | netif_receive_skb(skb); | ||
629 | 628 | ||
630 | return 1; | 629 | return 1; |
631 | } | 630 | } |
@@ -670,10 +669,10 @@ static int flexcan_read_frame(struct net_device *dev) | |||
670 | } | 669 | } |
671 | 670 | ||
672 | flexcan_read_fifo(dev, cf); | 671 | flexcan_read_fifo(dev, cf); |
673 | netif_receive_skb(skb); | ||
674 | 672 | ||
675 | stats->rx_packets++; | 673 | stats->rx_packets++; |
676 | stats->rx_bytes += cf->can_dlc; | 674 | stats->rx_bytes += cf->can_dlc; |
675 | netif_receive_skb(skb); | ||
677 | 676 | ||
678 | can_led_event(dev, CAN_LED_EVENT_RX); | 677 | can_led_event(dev, CAN_LED_EVENT_RX); |
679 | 678 | ||
diff --git a/drivers/net/can/grcan.c b/drivers/net/can/grcan.c index e3d7e22a4fa0..db9538d4b358 100644 --- a/drivers/net/can/grcan.c +++ b/drivers/net/can/grcan.c | |||
@@ -1216,11 +1216,12 @@ static int grcan_receive(struct net_device *dev, int budget) | |||
1216 | cf->data[i] = (u8)(slot[j] >> shift); | 1216 | cf->data[i] = (u8)(slot[j] >> shift); |
1217 | } | 1217 | } |
1218 | } | 1218 | } |
1219 | netif_receive_skb(skb); | ||
1220 | 1219 | ||
1221 | /* Update statistics and read pointer */ | 1220 | /* Update statistics and read pointer */ |
1222 | stats->rx_packets++; | 1221 | stats->rx_packets++; |
1223 | stats->rx_bytes += cf->can_dlc; | 1222 | stats->rx_bytes += cf->can_dlc; |
1223 | netif_receive_skb(skb); | ||
1224 | |||
1224 | rd = grcan_ring_add(rd, GRCAN_MSG_SIZE, dma->rx.size); | 1225 | rd = grcan_ring_add(rd, GRCAN_MSG_SIZE, dma->rx.size); |
1225 | } | 1226 | } |
1226 | 1227 | ||
diff --git a/drivers/net/can/sja1000/sja1000.c b/drivers/net/can/sja1000/sja1000.c index 32bd7f451aa4..7b92e911a616 100644 --- a/drivers/net/can/sja1000/sja1000.c +++ b/drivers/net/can/sja1000/sja1000.c | |||
@@ -377,10 +377,9 @@ static void sja1000_rx(struct net_device *dev) | |||
377 | /* release receive buffer */ | 377 | /* release receive buffer */ |
378 | sja1000_write_cmdreg(priv, CMD_RRB); | 378 | sja1000_write_cmdreg(priv, CMD_RRB); |
379 | 379 | ||
380 | netif_rx(skb); | ||
381 | |||
382 | stats->rx_packets++; | 380 | stats->rx_packets++; |
383 | stats->rx_bytes += cf->can_dlc; | 381 | stats->rx_bytes += cf->can_dlc; |
382 | netif_rx(skb); | ||
384 | 383 | ||
385 | can_led_event(dev, CAN_LED_EVENT_RX); | 384 | can_led_event(dev, CAN_LED_EVENT_RX); |
386 | } | 385 | } |
@@ -484,10 +483,9 @@ static int sja1000_err(struct net_device *dev, uint8_t isrc, uint8_t status) | |||
484 | can_bus_off(dev); | 483 | can_bus_off(dev); |
485 | } | 484 | } |
486 | 485 | ||
487 | netif_rx(skb); | ||
488 | |||
489 | stats->rx_packets++; | 486 | stats->rx_packets++; |
490 | stats->rx_bytes += cf->can_dlc; | 487 | stats->rx_bytes += cf->can_dlc; |
488 | netif_rx(skb); | ||
491 | 489 | ||
492 | return 0; | 490 | return 0; |
493 | } | 491 | } |
diff --git a/drivers/net/can/slcan.c b/drivers/net/can/slcan.c index a23a7af8eb9a..9a3f15cb7ef4 100644 --- a/drivers/net/can/slcan.c +++ b/drivers/net/can/slcan.c | |||
@@ -218,10 +218,10 @@ static void slc_bump(struct slcan *sl) | |||
218 | 218 | ||
219 | memcpy(skb_put(skb, sizeof(struct can_frame)), | 219 | memcpy(skb_put(skb, sizeof(struct can_frame)), |
220 | &cf, sizeof(struct can_frame)); | 220 | &cf, sizeof(struct can_frame)); |
221 | netif_rx_ni(skb); | ||
222 | 221 | ||
223 | sl->dev->stats.rx_packets++; | 222 | sl->dev->stats.rx_packets++; |
224 | sl->dev->stats.rx_bytes += cf.can_dlc; | 223 | sl->dev->stats.rx_bytes += cf.can_dlc; |
224 | netif_rx_ni(skb); | ||
225 | } | 225 | } |
226 | 226 | ||
227 | /* parse tty input stream */ | 227 | /* parse tty input stream */ |
diff --git a/drivers/net/can/spi/mcp251x.c b/drivers/net/can/spi/mcp251x.c index c1a95a34d62e..b7e83c212023 100644 --- a/drivers/net/can/spi/mcp251x.c +++ b/drivers/net/can/spi/mcp251x.c | |||
@@ -1086,8 +1086,8 @@ static int mcp251x_can_probe(struct spi_device *spi) | |||
1086 | if (ret) | 1086 | if (ret) |
1087 | goto out_clk; | 1087 | goto out_clk; |
1088 | 1088 | ||
1089 | priv->power = devm_regulator_get(&spi->dev, "vdd"); | 1089 | priv->power = devm_regulator_get_optional(&spi->dev, "vdd"); |
1090 | priv->transceiver = devm_regulator_get(&spi->dev, "xceiver"); | 1090 | priv->transceiver = devm_regulator_get_optional(&spi->dev, "xceiver"); |
1091 | if ((PTR_ERR(priv->power) == -EPROBE_DEFER) || | 1091 | if ((PTR_ERR(priv->power) == -EPROBE_DEFER) || |
1092 | (PTR_ERR(priv->transceiver) == -EPROBE_DEFER)) { | 1092 | (PTR_ERR(priv->transceiver) == -EPROBE_DEFER)) { |
1093 | ret = -EPROBE_DEFER; | 1093 | ret = -EPROBE_DEFER; |
@@ -1222,17 +1222,16 @@ static int __maybe_unused mcp251x_can_resume(struct device *dev) | |||
1222 | struct spi_device *spi = to_spi_device(dev); | 1222 | struct spi_device *spi = to_spi_device(dev); |
1223 | struct mcp251x_priv *priv = spi_get_drvdata(spi); | 1223 | struct mcp251x_priv *priv = spi_get_drvdata(spi); |
1224 | 1224 | ||
1225 | if (priv->after_suspend & AFTER_SUSPEND_POWER) { | 1225 | if (priv->after_suspend & AFTER_SUSPEND_POWER) |
1226 | mcp251x_power_enable(priv->power, 1); | 1226 | mcp251x_power_enable(priv->power, 1); |
1227 | |||
1228 | if (priv->after_suspend & AFTER_SUSPEND_UP) { | ||
1229 | mcp251x_power_enable(priv->transceiver, 1); | ||
1227 | queue_work(priv->wq, &priv->restart_work); | 1230 | queue_work(priv->wq, &priv->restart_work); |
1228 | } else { | 1231 | } else { |
1229 | if (priv->after_suspend & AFTER_SUSPEND_UP) { | 1232 | priv->after_suspend = 0; |
1230 | mcp251x_power_enable(priv->transceiver, 1); | ||
1231 | queue_work(priv->wq, &priv->restart_work); | ||
1232 | } else { | ||
1233 | priv->after_suspend = 0; | ||
1234 | } | ||
1235 | } | 1233 | } |
1234 | |||
1236 | priv->force_quit = 0; | 1235 | priv->force_quit = 0; |
1237 | enable_irq(spi->irq); | 1236 | enable_irq(spi->irq); |
1238 | return 0; | 1237 | return 0; |
diff --git a/drivers/net/can/ti_hecc.c b/drivers/net/can/ti_hecc.c index e95a9e1a889f..cf345cbfe819 100644 --- a/drivers/net/can/ti_hecc.c +++ b/drivers/net/can/ti_hecc.c | |||
@@ -747,9 +747,9 @@ static int ti_hecc_error(struct net_device *ndev, int int_status, | |||
747 | } | 747 | } |
748 | } | 748 | } |
749 | 749 | ||
750 | netif_rx(skb); | ||
751 | stats->rx_packets++; | 750 | stats->rx_packets++; |
752 | stats->rx_bytes += cf->can_dlc; | 751 | stats->rx_bytes += cf->can_dlc; |
752 | netif_rx(skb); | ||
753 | 753 | ||
754 | return 0; | 754 | return 0; |
755 | } | 755 | } |
diff --git a/drivers/net/can/usb/ems_usb.c b/drivers/net/can/usb/ems_usb.c index 866bac0ae7e9..2d390384ef3b 100644 --- a/drivers/net/can/usb/ems_usb.c +++ b/drivers/net/can/usb/ems_usb.c | |||
@@ -324,10 +324,9 @@ static void ems_usb_rx_can_msg(struct ems_usb *dev, struct ems_cpc_msg *msg) | |||
324 | cf->data[i] = msg->msg.can_msg.msg[i]; | 324 | cf->data[i] = msg->msg.can_msg.msg[i]; |
325 | } | 325 | } |
326 | 326 | ||
327 | netif_rx(skb); | ||
328 | |||
329 | stats->rx_packets++; | 327 | stats->rx_packets++; |
330 | stats->rx_bytes += cf->can_dlc; | 328 | stats->rx_bytes += cf->can_dlc; |
329 | netif_rx(skb); | ||
331 | } | 330 | } |
332 | 331 | ||
333 | static void ems_usb_rx_err(struct ems_usb *dev, struct ems_cpc_msg *msg) | 332 | static void ems_usb_rx_err(struct ems_usb *dev, struct ems_cpc_msg *msg) |
@@ -400,10 +399,9 @@ static void ems_usb_rx_err(struct ems_usb *dev, struct ems_cpc_msg *msg) | |||
400 | stats->rx_errors++; | 399 | stats->rx_errors++; |
401 | } | 400 | } |
402 | 401 | ||
403 | netif_rx(skb); | ||
404 | |||
405 | stats->rx_packets++; | 402 | stats->rx_packets++; |
406 | stats->rx_bytes += cf->can_dlc; | 403 | stats->rx_bytes += cf->can_dlc; |
404 | netif_rx(skb); | ||
407 | } | 405 | } |
408 | 406 | ||
409 | /* | 407 | /* |
diff --git a/drivers/net/can/usb/esd_usb2.c b/drivers/net/can/usb/esd_usb2.c index 411c1af92c62..0e5a4493ba4f 100644 --- a/drivers/net/can/usb/esd_usb2.c +++ b/drivers/net/can/usb/esd_usb2.c | |||
@@ -301,13 +301,12 @@ static void esd_usb2_rx_event(struct esd_usb2_net_priv *priv, | |||
301 | cf->data[7] = rxerr; | 301 | cf->data[7] = rxerr; |
302 | } | 302 | } |
303 | 303 | ||
304 | netif_rx(skb); | ||
305 | |||
306 | priv->bec.txerr = txerr; | 304 | priv->bec.txerr = txerr; |
307 | priv->bec.rxerr = rxerr; | 305 | priv->bec.rxerr = rxerr; |
308 | 306 | ||
309 | stats->rx_packets++; | 307 | stats->rx_packets++; |
310 | stats->rx_bytes += cf->can_dlc; | 308 | stats->rx_bytes += cf->can_dlc; |
309 | netif_rx(skb); | ||
311 | } | 310 | } |
312 | } | 311 | } |
313 | 312 | ||
@@ -347,10 +346,9 @@ static void esd_usb2_rx_can_msg(struct esd_usb2_net_priv *priv, | |||
347 | cf->data[i] = msg->msg.rx.data[i]; | 346 | cf->data[i] = msg->msg.rx.data[i]; |
348 | } | 347 | } |
349 | 348 | ||
350 | netif_rx(skb); | ||
351 | |||
352 | stats->rx_packets++; | 349 | stats->rx_packets++; |
353 | stats->rx_bytes += cf->can_dlc; | 350 | stats->rx_bytes += cf->can_dlc; |
351 | netif_rx(skb); | ||
354 | } | 352 | } |
355 | 353 | ||
356 | return; | 354 | return; |
diff --git a/drivers/net/can/usb/peak_usb/pcan_usb.c b/drivers/net/can/usb/peak_usb/pcan_usb.c index 72427f21edff..6b94007ae052 100644 --- a/drivers/net/can/usb/peak_usb/pcan_usb.c +++ b/drivers/net/can/usb/peak_usb/pcan_usb.c | |||
@@ -526,9 +526,9 @@ static int pcan_usb_decode_error(struct pcan_usb_msg_context *mc, u8 n, | |||
526 | hwts->hwtstamp = timeval_to_ktime(tv); | 526 | hwts->hwtstamp = timeval_to_ktime(tv); |
527 | } | 527 | } |
528 | 528 | ||
529 | netif_rx(skb); | ||
530 | mc->netdev->stats.rx_packets++; | 529 | mc->netdev->stats.rx_packets++; |
531 | mc->netdev->stats.rx_bytes += cf->can_dlc; | 530 | mc->netdev->stats.rx_bytes += cf->can_dlc; |
531 | netif_rx(skb); | ||
532 | 532 | ||
533 | return 0; | 533 | return 0; |
534 | } | 534 | } |
@@ -659,12 +659,11 @@ static int pcan_usb_decode_data(struct pcan_usb_msg_context *mc, u8 status_len) | |||
659 | hwts = skb_hwtstamps(skb); | 659 | hwts = skb_hwtstamps(skb); |
660 | hwts->hwtstamp = timeval_to_ktime(tv); | 660 | hwts->hwtstamp = timeval_to_ktime(tv); |
661 | 661 | ||
662 | /* push the skb */ | ||
663 | netif_rx(skb); | ||
664 | |||
665 | /* update statistics */ | 662 | /* update statistics */ |
666 | mc->netdev->stats.rx_packets++; | 663 | mc->netdev->stats.rx_packets++; |
667 | mc->netdev->stats.rx_bytes += cf->can_dlc; | 664 | mc->netdev->stats.rx_bytes += cf->can_dlc; |
665 | /* push the skb */ | ||
666 | netif_rx(skb); | ||
668 | 667 | ||
669 | return 0; | 668 | return 0; |
670 | 669 | ||
diff --git a/drivers/net/can/usb/peak_usb/pcan_usb_pro.c b/drivers/net/can/usb/peak_usb/pcan_usb_pro.c index dec51717635e..7d61b3279798 100644 --- a/drivers/net/can/usb/peak_usb/pcan_usb_pro.c +++ b/drivers/net/can/usb/peak_usb/pcan_usb_pro.c | |||
@@ -553,9 +553,9 @@ static int pcan_usb_pro_handle_canmsg(struct pcan_usb_pro_interface *usb_if, | |||
553 | hwts = skb_hwtstamps(skb); | 553 | hwts = skb_hwtstamps(skb); |
554 | hwts->hwtstamp = timeval_to_ktime(tv); | 554 | hwts->hwtstamp = timeval_to_ktime(tv); |
555 | 555 | ||
556 | netif_rx(skb); | ||
557 | netdev->stats.rx_packets++; | 556 | netdev->stats.rx_packets++; |
558 | netdev->stats.rx_bytes += can_frame->can_dlc; | 557 | netdev->stats.rx_bytes += can_frame->can_dlc; |
558 | netif_rx(skb); | ||
559 | 559 | ||
560 | return 0; | 560 | return 0; |
561 | } | 561 | } |
@@ -670,9 +670,9 @@ static int pcan_usb_pro_handle_error(struct pcan_usb_pro_interface *usb_if, | |||
670 | peak_usb_get_ts_tv(&usb_if->time_ref, le32_to_cpu(er->ts32), &tv); | 670 | peak_usb_get_ts_tv(&usb_if->time_ref, le32_to_cpu(er->ts32), &tv); |
671 | hwts = skb_hwtstamps(skb); | 671 | hwts = skb_hwtstamps(skb); |
672 | hwts->hwtstamp = timeval_to_ktime(tv); | 672 | hwts->hwtstamp = timeval_to_ktime(tv); |
673 | netif_rx(skb); | ||
674 | netdev->stats.rx_packets++; | 673 | netdev->stats.rx_packets++; |
675 | netdev->stats.rx_bytes += can_frame->can_dlc; | 674 | netdev->stats.rx_bytes += can_frame->can_dlc; |
675 | netif_rx(skb); | ||
676 | 676 | ||
677 | return 0; | 677 | return 0; |
678 | } | 678 | } |
diff --git a/drivers/net/can/usb/usb_8dev.c b/drivers/net/can/usb/usb_8dev.c index dd52c7a4c80d..de95b1ccba3e 100644 --- a/drivers/net/can/usb/usb_8dev.c +++ b/drivers/net/can/usb/usb_8dev.c | |||
@@ -461,10 +461,9 @@ static void usb_8dev_rx_err_msg(struct usb_8dev_priv *priv, | |||
461 | priv->bec.txerr = txerr; | 461 | priv->bec.txerr = txerr; |
462 | priv->bec.rxerr = rxerr; | 462 | priv->bec.rxerr = rxerr; |
463 | 463 | ||
464 | netif_rx(skb); | ||
465 | |||
466 | stats->rx_packets++; | 464 | stats->rx_packets++; |
467 | stats->rx_bytes += cf->can_dlc; | 465 | stats->rx_bytes += cf->can_dlc; |
466 | netif_rx(skb); | ||
468 | } | 467 | } |
469 | 468 | ||
470 | /* Read data and status frames */ | 469 | /* Read data and status frames */ |
@@ -494,10 +493,9 @@ static void usb_8dev_rx_can_msg(struct usb_8dev_priv *priv, | |||
494 | else | 493 | else |
495 | memcpy(cf->data, msg->data, cf->can_dlc); | 494 | memcpy(cf->data, msg->data, cf->can_dlc); |
496 | 495 | ||
497 | netif_rx(skb); | ||
498 | |||
499 | stats->rx_packets++; | 496 | stats->rx_packets++; |
500 | stats->rx_bytes += cf->can_dlc; | 497 | stats->rx_bytes += cf->can_dlc; |
498 | netif_rx(skb); | ||
501 | 499 | ||
502 | can_led_event(priv->netdev, CAN_LED_EVENT_RX); | 500 | can_led_event(priv->netdev, CAN_LED_EVENT_RX); |
503 | } else { | 501 | } else { |