es58x_set_mode(9)
π
es58x_set_mode β like, the Kernel API Manual page for it β¨
Okay bestie, welcome to the Kernel API Manual entry for es58x_set_mode(9) β this is the lil' function that flips your network device into a different mode. It's short, it's iconic, let's go π«Ά
β¨ NAME β¨
es58x_set_mode β change network device mode. That's it. That's the whole vibe π¦
πΈ SYNOPSIS πΈ
int es58x_set_mode (struct net_device *netdev , enum can_mode mode );
Literally just hand it a netdev and a mode and it returns an int. Periodt π
π ARGUMENTS π
netdevβ the CAN network device itself. Your main character. πmodeβ eitherCAN_MODE_START,CAN_MODE_STOPorCAN_MODE_SLEEP. Those three, no cap, that's the whole roster π
π¦ DESCRIPTION π¦
So like, currently this function is only used to stop and restart the channel during a bus off event π (c.f. es58x_rx_err_msg and drivers/net/can/dev.c:can_restart β those are literally the two only callers, iykyk).
That's it. That's the tea. Not me being obsessed with how narrow the scope is π
β RETURN β
- zero on success π
errnowhen any error occurs π
π₯ SEE ALSO π₯
The kernel file ./drivers/net/can/usb/etas_es58x/es58x_core.c β that's where the magic lives β¨
And now the whole friend group, because they all showed up and we're not leaving anyone out π§:
es58x_calculate_crc(9),es58x_get_crc(9),es58x_set_crc(9),es58x_check_crc(9)es58x_timestamp_to_ns(9),es58x_set_skb_timestamp(9),es58x_rx_timestamp(9),es58x_set_realtime_diff_ns(9)es58x_is_can_state_active(9),es58x_is_echo_skb_threshold_reached(9),es58x_can_free_echo_skb_tail(9),es58x_can_get_echo_skb_recovery(9)es58x_can_get_echo_skb(9),es58x_can_reset_echo_fifo(9),es58x_flush_pending_tx_msg(9),es58x_tx_ack_msg(9)es58x_rx_can_msg(9),es58x_rx_err_msg(9),es58x_cmd_ret_desc(9),es58x_rx_cmd_ret_u8(9)es58x_rx_cmd_ret_u32(9),es58x_increment_rx_errors(9),es58x_handle_urb_cmd(9),es58x_check_rx_urb(9)es58x_copy_to_cmd_buf(9),es58x_split_urb_try_recovery(9),es58x_handle_incomplete_cmd(9),es58x_split_urb(9)es58x_read_bulk_callback(9),es58x_write_bulk_callback(9),es58x_alloc_urb(9),es58x_get_tx_urb(9)es58x_submit_urb(9),es58x_send_msg(9),es58x_alloc_rx_urbs(9),es58x_free_urbs(9)es58x_open(9),es58x_stop(9),es58x_xmit_commit(9),es58x_xmit_more(9)es58x_start_xmit(9),es58x_init_priv(9),es58x_init_netdev(9),es58x_free_netdevs(9)es58x_init_es58x_dev(9),es58x_probe(9),es58x_disconnect(9)
Slay. All 47 of them, accounted for, not a single one missing π
Fr fr, if you're only here to stop or restart a channel after a bus off, you're in exactly the right place. Everyone else, go home π
Okay that's the whole page, bestie β sign-off time π This one lives under ./drivers/net/can/usb/etas_es58x and it's dated October 2026, so mark your calendar and go touch some grass πΈβοΈ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms