Lines Matching refs:netdev
134 struct net_device *netdev[F81604_MAX_DEV];
139 struct net_device *netdev;
254 int port = priv->netdev->dev_port;
264 int port = priv->netdev->dev_port;
370 static void f81604_process_rx_packet(struct net_device *netdev,
373 struct net_device_stats *stats = &netdev->stats;
380 skb = alloc_can_skb(netdev, &cf);
415 struct net_device *netdev = urb->context;
418 if (!netif_device_present(netdev))
422 netdev_info(netdev, "%s: URB aborted %pe\n", __func__,
440 netdev_warn(netdev, "URB length %u not equal to %zu\n",
445 f81604_process_rx_packet(netdev, frame);
450 netif_device_detach(netdev);
452 netdev_err(netdev,
460 struct net_device *netdev = priv->netdev;
461 struct net_device_stats *stats = &netdev->stats;
467 can_free_echo_skb(netdev, 0, NULL);
470 stats->tx_bytes += can_get_echo_skb(netdev, 0, NULL);
474 netif_wake_queue(netdev);
481 struct net_device *netdev = priv->netdev;
482 struct net_device_stats *stats = &netdev->stats;
490 skb = alloc_can_err_skb(netdev, &cf);
499 netdev_dbg(netdev, "data overrun interrupt\n");
514 netdev_dbg(netdev, "error warning interrupt\n");
526 netdev_dbg(netdev, "bus error interrupt\n");
567 netdev_dbg(netdev, "error passive interrupt: %d\n", can_state);
572 netdev_dbg(netdev, "arbitration lost interrupt\n");
590 can_change_state(netdev, cf, tx_state, rx_state);
593 can_bus_off(netdev);
606 struct net_device *netdev = urb->context;
610 priv = netdev_priv(netdev);
612 if (!netif_device_present(netdev))
616 netdev_info(netdev, "%s: Int URB aborted: %pe\n", __func__,
647 netif_device_detach(netdev);
649 netdev_err(netdev, "%s: failed to resubmit int urb: %pe\n",
660 struct net_device *netdev = priv->netdev;
662 int id = netdev->dev_port;
687 f81604_read_bulk_callback, netdev);
704 netdev_warn(netdev, "%s: submit rx urb failed: %pe\n",
725 sizeof(*int_data), f81604_read_int_callback, netdev,
736 netdev_warn(netdev, "%s: submit int urb failed: %pe\n",
751 static int f81604_start(struct net_device *netdev)
753 struct f81604_port_priv *priv = netdev_priv(netdev);
848 static int f81604_set_mode(struct net_device *netdev, enum can_mode mode)
854 ret = f81604_start(netdev);
855 if (!ret && netif_queue_stopped(netdev))
856 netif_wake_queue(netdev);
868 struct net_device *netdev = urb->context;
870 if (!netif_device_present(netdev))
874 netdev_info(netdev, "%s: Tx URB error: %pe\n", __func__,
900 struct net_device *netdev)
903 struct f81604_port_priv *priv = netdev_priv(netdev);
904 struct net_device_stats *stats = &netdev->stats;
909 if (can_dev_dropped_skb(netdev, skb))
912 netif_stop_queue(netdev);
924 bulk_out_addr[netdev->dev_port]),
926 priv->netdev);
954 can_put_echo_skb(skb, netdev, 0, 0);
958 netdev_err(netdev, "%s: failed to resubmit tx bulk urb: %pe\n",
961 can_free_echo_skb(netdev, 0, NULL);
966 netif_device_detach(netdev);
968 netif_wake_queue(netdev);
983 netif_wake_queue(netdev);
988 static int f81604_get_berr_counter(const struct net_device *netdev,
991 struct f81604_port_priv *priv = netdev_priv(netdev);
1010 static int f81604_open(struct net_device *netdev)
1014 ret = open_candev(netdev);
1018 ret = f81604_start(netdev);
1021 netif_device_detach(netdev);
1023 close_candev(netdev);
1027 netif_start_queue(netdev);
1032 static int f81604_close(struct net_device *netdev)
1034 struct f81604_port_priv *priv = netdev_priv(netdev);
1038 netif_stop_queue(netdev);
1040 close_candev(netdev);
1072 for (i = 0; i < ARRAY_SIZE(priv->netdev); ++i) {
1073 if (!priv->netdev[i])
1076 unregister_netdev(priv->netdev[i]);
1077 free_candev(priv->netdev[i]);
1096 static int f81604_set_termination(struct net_device *netdev, u16 term)
1098 struct f81604_port_priv *port_priv = netdev_priv(netdev);
1102 return __f81604_set_termination(port_priv->dev, netdev->dev_port,
1110 struct net_device *netdev;
1120 for (i = 0; i < ARRAY_SIZE(priv->netdev); ++i) {
1130 for (i = 0; i < ARRAY_SIZE(priv->netdev); ++i) {
1133 netdev = alloc_candev(sizeof(*port_priv), 1);
1134 if (!netdev) {
1141 port_priv = netdev_priv(netdev);
1148 port_priv->netdev = netdev;
1164 netdev->ethtool_ops = &f81604_ethtool_ops;
1165 netdev->netdev_ops = &f81604_netdev_ops;
1166 netdev->flags |= IFF_ECHO;
1167 netdev->dev_port = i;
1169 SET_NETDEV_DEV(netdev, &intf->dev);
1171 ret = register_candev(netdev);
1173 netdev_err(netdev, "register CAN device failed: %pe\n",
1175 free_candev(netdev);
1180 priv->netdev[i] = netdev;