es58x_can_get_echo_skb(9)
π es58x_can_get_echo_skb(9) β Kernel API Manual bestie era β¨
πΈ NAME πΈ
es58x_can_get_echo_skb β Get the skb from the echo FIFO and loop it back locally. π
π¦ SYNOPSIS π¦
int es58x_can_get_echo_skb (struct net_device *netdev , u32
rcv_packet_idx , u64 *tstamps , unsigned int pkts );
π ARGUMENTS π
netdevβ CAN network device.rcv_packet_idxβ Index of the first packet received from the device.tstampsβ Array of hardware timestamps received from a ES58X device.pktsβ Number of packets (and so, length oftstamps).
β¨ DESCRIPTION β¨
Okay so bestie, this is the callback function for when we receive a self reception acknowledgment. It retrieves the skb from the echo FIFO, sets its hardware timestamp β the actual time it was sent β and loops it back locally. π«Ά
The device has to be active, meaning the network interface is UP and it is not in bus off state or restarting. No cap, it literally has to be active. π
Packet indexes must be consecutive. So: index of first packet is rcv_packet_idx, index of second packet is rcv_packet_idx + 1, and index of last packet is rcv_packet_idx + pkts - 1. Periodt. π
π RETURN π
zero on success. β¨
π SEE ALSO π
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_free_echo_skb_tail(9)es58x_can_get_echo_skb_recovery(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)
mwah π stay iconic, bestie β source/version: ./drivers/net/can/usb/etas_es58x; date: October 2026. π
π¦ 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