es58x_can_fr...cho_skb_tail(9)
π¦ es58x_can_free_echo_skb_tail(9) β Kernel API Manual π
okay bestie, welcome to the group chat π you're reading the manpage for es58x_can_free_echo_skb_tail(9), straight out of the Kernel API Manual, and tbh this one is short but the naming is gonna try to gaslight you, so stay with me π«Ά
β¨ NAME β¨
es58x_can_free_echo_skb_tail β Remove the oldest echo skb of the echo FIFO.
like, the oldest one. the one that's been in the queue the longest. it's giving "your mom calling the oldest sibling first" energy π
πΈ SYNOPSIS πΈ
void es58x_can_free_echo_skb_tail (struct net_device *netdev );
no return value, she just does the thing and dips π
π ARGUMENTS π
netdevβ CAN network device. that's it. that's the whole argument. the CAN network device in question π
π₯ DESCRIPTION π₯
okay so this is the part where you need to pay attention, because the naming convention here is lowkey chaotic and if you don't clock it you will be so confused:
the tail is the beginning of the FIFO, i.e. the first skb to have entered the FIFO.
read that again. yes fr fr. "tail" here does NOT mean the end of the line β it means the front. the oldest one. the first one in. main character of the queue if you will π
so when this function goes to "free the tail," she is reaching into the front of the FIFO and yeeting the first skb that ever showed up there. iconique, slightly unhinged, but that's the convention and we respect it π«‘
π SEE ALSO π
bestie there are SO many siblings in this family, buckle up β here's the whole contact list π§
Kernel file ./drivers/net/can/usb/etas_es58x/es58x_core.c
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_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)
like I said. huge family. holiday dinners must be unhinged π
quick vibe check reminder π«Ά the whole "tail = beginning of the FIFO" thing is the one detail you literally cannot forget here. everyone gets it backwards the first time. iykyk π
and that's the page!! mwah π this little beauty lives over in ./drivers/net/can/usb/etas_es58x, dated October 2026, and she goes by es58x_can_fr...cho_skb_tail(9) on the cover π slay, go free that oldest skb bestie πΈ
π¦ 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