es58x_check_crc(9)
π es58x_check_crc β kernel API manual, but make it make sense π
okay so bestie, welcome to es58x_check_crc(9) from the Linux Kernel API Manual β¨ this one is short and sweet and honestly kind of a vibe: it's the little function that goes "hmm, is this URB's CRC actually correct or are we being lied to" π΅οΈββοΈ
πΈ NAME πΈ
es58x_check_crc β validate the CRC value of a given URB. that's it, that's the job, and it does it slayfully π
β¨ SYNOPSIS β¨
int es58x_check_crc (struct es58x_device *es58x_dev , const union
es58x_urb_cmd *urb_cmd , u16 urb_len );
like, look at her. three args, returns an int, no drama π₯
π ARGUMENTS π
es58x_devβ the ES58X device. your main character device, fr fr πurb_cmdβ the URB command whose CRC we're checking. this is the thing we're side-eyeing πurb_lenβ length ofurb_cmd. must be at least bigger than 4 (ES58X_CRC_CALC_OFFSET + sizeof(crc)). not negotiable bestie, that's the floor π
lowkey important: thaturb_lenconstraint is a real requirement, not a suggestion. respect the offset. respect thesizeof. π
π¦ RETURN π¦
- zero on success β iconic, we love a happy ending π
-EBADMSGif the CRC check fails β the CRC said no and we must accept it π
π SEE ALSO π
and now the friend group π«Ά the kernel file itself lives at ./drivers/net/can/usb/etas_es58x/es58x_core.c and here's literally everyone else in the ES58X cinematic universe, no cap:
es58x_calculate_crc(9)es58x_get_crc(9)es58x_set_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_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?? that's a whole roster. everyone showed up. ate and left no crumbs π
β¨ and that's the page bestie β¨ brought to you from ./drivers/net/can/usb/etas_es58x, dated October 2026 β stay CRC-validated out there, mwah ππ
π¦ 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