Lines Matching refs:net
246 struct net_device *net; member
285 static void mcp251x_clean(struct net_device *net) in mcp251x_clean() argument
287 struct mcp251x_priv *priv = netdev_priv(net); in mcp251x_clean()
290 net->stats.tx_errors++; in mcp251x_clean()
294 can_free_echo_skb(priv->net, 0); in mcp251x_clean()
468 skb = alloc_can_skb(priv->net, &frame); in mcp251x_hw_rx()
471 priv->net->stats.rx_dropped++; in mcp251x_hw_rx()
502 priv->net->stats.rx_packets++; in mcp251x_hw_rx()
503 priv->net->stats.rx_bytes += frame->can_dlc; in mcp251x_hw_rx()
505 can_led_event(priv->net, CAN_LED_EVENT_RX); in mcp251x_hw_rx()
516 struct net_device *net) in mcp251x_hard_start_xmit() argument
518 struct mcp251x_priv *priv = netdev_priv(net); in mcp251x_hard_start_xmit()
526 if (can_dropped_invalid_skb(net, skb)) in mcp251x_hard_start_xmit()
529 netif_stop_queue(net); in mcp251x_hard_start_xmit()
536 static int mcp251x_do_set_mode(struct net_device *net, enum can_mode mode) in mcp251x_do_set_mode() argument
538 struct mcp251x_priv *priv = netdev_priv(net); in mcp251x_do_set_mode()
542 mcp251x_clean(net); in mcp251x_do_set_mode()
592 static int mcp251x_do_set_bittiming(struct net_device *net) in mcp251x_do_set_bittiming() argument
594 struct mcp251x_priv *priv = netdev_priv(net); in mcp251x_do_set_bittiming()
615 static int mcp251x_setup(struct net_device *net, struct mcp251x_priv *priv, in mcp251x_setup() argument
618 mcp251x_do_set_bittiming(net); in mcp251x_setup()
691 static void mcp251x_open_clean(struct net_device *net) in mcp251x_open_clean() argument
693 struct mcp251x_priv *priv = netdev_priv(net); in mcp251x_open_clean()
699 close_candev(net); in mcp251x_open_clean()
702 static int mcp251x_stop(struct net_device *net) in mcp251x_stop() argument
704 struct mcp251x_priv *priv = netdev_priv(net); in mcp251x_stop()
707 close_candev(net); in mcp251x_stop()
721 mcp251x_clean(net); in mcp251x_stop()
731 can_led_event(net, CAN_LED_EVENT_STOP); in mcp251x_stop()
736 static void mcp251x_error_skb(struct net_device *net, int can_id, int data1) in mcp251x_error_skb() argument
741 skb = alloc_can_err_skb(net, &frame); in mcp251x_error_skb()
747 netdev_err(net, "cannot allocate error skb\n"); in mcp251x_error_skb()
756 struct net_device *net = priv->net; in mcp251x_tx_work_handler() local
762 mcp251x_clean(net); in mcp251x_tx_work_handler()
770 can_put_echo_skb(priv->tx_skb, net, 0); in mcp251x_tx_work_handler()
782 struct net_device *net = priv->net; in mcp251x_restart_work_handler() local
787 mcp251x_setup(net, priv, spi); in mcp251x_restart_work_handler()
791 netif_device_attach(net); in mcp251x_restart_work_handler()
792 mcp251x_clean(net); in mcp251x_restart_work_handler()
794 netif_wake_queue(net); in mcp251x_restart_work_handler()
805 mcp251x_clean(net); in mcp251x_restart_work_handler()
806 netif_wake_queue(net); in mcp251x_restart_work_handler()
807 mcp251x_error_skb(net, CAN_ERR_RESTARTED, 0); in mcp251x_restart_work_handler()
816 struct net_device *net = priv->net; in mcp251x_can_ist() local
901 net->stats.rx_over_errors++; in mcp251x_can_ist()
902 net->stats.rx_errors++; in mcp251x_can_ist()
905 net->stats.rx_over_errors++; in mcp251x_can_ist()
906 net->stats.rx_errors++; in mcp251x_can_ist()
911 mcp251x_error_skb(net, can_id, data1); in mcp251x_can_ist()
918 can_bus_off(net); in mcp251x_can_ist()
928 net->stats.tx_packets++; in mcp251x_can_ist()
929 net->stats.tx_bytes += priv->tx_len - 1; in mcp251x_can_ist()
930 can_led_event(net, CAN_LED_EVENT_TX); in mcp251x_can_ist()
932 can_get_echo_skb(net, 0); in mcp251x_can_ist()
935 netif_wake_queue(net); in mcp251x_can_ist()
943 static int mcp251x_open(struct net_device *net) in mcp251x_open() argument
945 struct mcp251x_priv *priv = netdev_priv(net); in mcp251x_open()
950 ret = open_candev(net); in mcp251x_open()
968 close_candev(net); in mcp251x_open()
979 mcp251x_open_clean(net); in mcp251x_open()
982 ret = mcp251x_setup(net, priv, spi); in mcp251x_open()
984 mcp251x_open_clean(net); in mcp251x_open()
989 mcp251x_open_clean(net); in mcp251x_open()
993 can_led_event(net, CAN_LED_EVENT_OPEN); in mcp251x_open()
995 netif_wake_queue(net); in mcp251x_open()
1048 struct net_device *net; in mcp251x_can_probe() local
1068 net = alloc_candev(sizeof(struct mcp251x_priv), TX_ECHO_SKB_MAX); in mcp251x_can_probe()
1069 if (!net) in mcp251x_can_probe()
1078 net->netdev_ops = &mcp251x_netdev_ops; in mcp251x_can_probe()
1079 net->flags |= IFF_ECHO; in mcp251x_can_probe()
1081 priv = netdev_priv(net); in mcp251x_can_probe()
1091 priv->net = net; in mcp251x_can_probe()
1160 SET_NETDEV_DEV(net, &spi->dev); in mcp251x_can_probe()
1172 ret = register_candev(net); in mcp251x_can_probe()
1176 devm_can_led_init(net); in mcp251x_can_probe()
1178 netdev_info(net, "MCP%x successfully initialized.\n", priv->model); in mcp251x_can_probe()
1189 free_candev(net); in mcp251x_can_probe()
1198 struct net_device *net = priv->net; in mcp251x_can_remove() local
1200 unregister_candev(net); in mcp251x_can_remove()
1207 free_candev(net); in mcp251x_can_remove()
1216 struct net_device *net = priv->net; in mcp251x_can_suspend() local
1224 if (netif_running(net)) { in mcp251x_can_suspend()
1225 netif_device_detach(net); in mcp251x_can_suspend()