xcanfd_rx(9)
π xcanfd_rx β the Kernel API Manual page, bestie edition π
okay so this is xcanfd_rx(9) from the Kernel API Manual, and honestly? she's a little legend. sit down, grab a boba, let's get into it π§β¨
β¨ NAME β¨
xcanfd_rx β the function that gets called from the CAN isr to finish up the processing of a received frame. like, the isr does the hand-off and xcanfd_rx takes it to the finish line π
π SYNOPSIS π
int xcanfd_rx (struct net_device *ndev , int frame_base );
that's her signature, no cap. int in, int out, two arguments, slay π
πΈ ARGUMENTS πΈ
ndevβ a pointer to thenet_devicestructure. yes, thatnet_device. the one you already know and love π«Άframe_baseβ the register offset to the frame that needs to be read. it's literally telling you where the frame lives π
π¦ DESCRIPTION π¦
so this function gets invoked from the CAN isr (the poll one) to process the Rx frames π she keeps it cute and does only minimal processing β like, lowkey she's not doing the whole thing herself β and then she invokes netif_receive_skb to complete the rest of the processing β¨
it's giving delegation queen. she does her bit, hands it off, done. iconic behaviour fr fr π
β RETURN β
1on success π0on failure π
that's it. that's the whole return section. no in-between, no vibes, just 1 or 0 π
π SEE ALSO π
okay this list is LONG and we're getting through all of it because nobody gets left behind bestie π«Ά starting with the kernel file ./drivers/net/can/xilinx_can.c and struct xcan_priv(9), then:
xcan_write_reg_le(9)xcan_read_reg_le(9)xcan_write_reg_be(9)xcan_read_reg_be(9)xcan_rx_int_mask(9)set_reset_mode(9)xcan_set_bittiming(9)xcan_chip_start(9)xcan_do_set_mode(9)xcan_write_frame(9)xcan_start_xmit_fifo(9)xcan_start_xmit_mailbox(9)xcan_start_xmit(9)xcan_rx(9)xcan_current_error_state(9)xcan_set_error_state(9)xcan_update_error_state_after_rxtx(9)xcan_err_interrupt(9)xcan_state_interrupt(9)xcan_rx_fifo_get_next_frame(9)xcan_rx_poll(9)xcan_tx_interrupt(9)xcan_interrupt(9)xcan_chip_stop(9)xcan_open(9)xcan_close(9)xcan_get_berr_counter(9)xcan_get_auto_tdcv(9)xcan_suspend(9)xcan_resume(9)xcan_runtime_suspend(9)xcan_runtime_resume(9)xcan_probe(9)xcan_remove(9)
every single one, accounted for, no skips π
ngl that's the whole page. she's short, she's sweet, she processes Rx frames from the isr and she does it with main character energy π₯
and that's a wrap!! this one lives over in ./drivers/net/can and the page is dated October 2026 β ty for reading bestie, 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