diff options
| -rw-r--r-- | drivers/net/can/usb/kvaser_usb.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/net/can/usb/kvaser_usb.c b/drivers/net/can/usb/kvaser_usb.c index c32cd61073bc..978a25e9cd3c 100644 --- a/drivers/net/can/usb/kvaser_usb.c +++ b/drivers/net/can/usb/kvaser_usb.c | |||
| @@ -662,11 +662,6 @@ static void kvaser_usb_rx_error(const struct kvaser_usb *dev, | |||
| 662 | priv = dev->nets[channel]; | 662 | priv = dev->nets[channel]; |
| 663 | stats = &priv->netdev->stats; | 663 | stats = &priv->netdev->stats; |
| 664 | 664 | ||
| 665 | if (status & M16C_STATE_BUS_RESET) { | ||
| 666 | kvaser_usb_unlink_tx_urbs(priv); | ||
| 667 | return; | ||
| 668 | } | ||
| 669 | |||
| 670 | skb = alloc_can_err_skb(priv->netdev, &cf); | 665 | skb = alloc_can_err_skb(priv->netdev, &cf); |
| 671 | if (!skb) { | 666 | if (!skb) { |
| 672 | stats->rx_dropped++; | 667 | stats->rx_dropped++; |
| @@ -677,7 +672,7 @@ static void kvaser_usb_rx_error(const struct kvaser_usb *dev, | |||
| 677 | 672 | ||
| 678 | netdev_dbg(priv->netdev, "Error status: 0x%02x\n", status); | 673 | netdev_dbg(priv->netdev, "Error status: 0x%02x\n", status); |
| 679 | 674 | ||
| 680 | if (status & M16C_STATE_BUS_OFF) { | 675 | if (status & (M16C_STATE_BUS_OFF | M16C_STATE_BUS_RESET)) { |
| 681 | cf->can_id |= CAN_ERR_BUSOFF; | 676 | cf->can_id |= CAN_ERR_BUSOFF; |
| 682 | 677 | ||
| 683 | priv->can.can_stats.bus_off++; | 678 | priv->can.can_stats.bus_off++; |
