es58x_is_can_state_active(9)
π es58x_is_can_state_active π
okay bestie, welcome to the <cyan>Kernel API Manual</cyan> page for es58x_is_can_state_active β yes that's a mouthful, we love her anyway π«Ά
β¨ NAME β¨
es58x_is_can_state_active β literally just asking: is this network device in an active CAN state? that's the whole vibe check π₯
πΈ SYNOPSIS πΈ
bool es58x_is_can_state_active (struct net_device *netdev );
π ARGUMENTS π
netdevβ the CAN network device. that's it, that's the whole argument, she's low maintenance π
π DESCRIPTION π
so the device counts as active if it can actually send or receive CAN frames β like, if it's in any one of these states:
CAN_STATE_ERROR_ACTIVECAN_STATE_ERROR_WARNINGCAN_STATE_ERROR_PASSIVE
those three, and only those three. iykyk β¨
π Caution, fr fr: when recovering from a bus-off,net/core/dev.c#can_restartwill callnet/core/dev.c#can_flush_echo_skbwithout using any kind of locks. so it is critical to guarantee that no TX or echo operations (i.e. any access topriv->echo_skb[]) can be done while this function is returningfalse. like. do not do that. not even a little. π
β RETURN β
returns true if the device is active, else returns false. iconic behaviour, no notes π
π¦ SEE ALSO π¦
kernel file: ./drivers/net/can/usb/etas_es58x/es58x_core.c
and the whole bestie squad:
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_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_set_mode(9)es58x_init_priv(9)es58x_init_netdev(9)es58x_free_netdevs(9)es58x_init_es58x_dev(9)es58x_probe(9)es58x_disconnect(9)
and that's the page!! π§ this lil beauty lives in ./drivers/net/can/usb/etas_es58x, dated October 2026, and yes she's still shipping as es58x_is_can_state_active(9). mwah π periodt.
π¦ 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