bdx_probe(9)
β¨ bdx_probe(9) β¨
okay so bestie, welcome to the bdx_probe page from the Kernel API Manual β this is the little function that gets your adapter out of bed in the morning π it's giving "first day of school" energy fr fr.
π NAME π
bdx_probe β the Device Initialization Routine β¨ like, it's the function that shows up and makes the hardware exist, iykyk.
π¦ SYNOPSIS π¦
int bdx_probe (struct pci_dev *pdev , const struct pci_device_id *ent );
that's it, that's the whole vibe check πΈ two args, one int back. iconic.
π ARGUMENTS π
pdevβ the PCI device information struct π«Ά it's literally the whole personality of the device, all wrapped up in one pointer.entβ an entry inbdx_pci_tblπ the matchmaker that said "yes, this device, this driver, shipping it."
π₯ DESCRIPTION π₯
So here's the tea β bdx_probe returns 0 on success and a negative value on failure β no cap, that's the contract. (negative = bad news bestie, don't ignore it π)
bdx_probe initializes an adapter that's identified by a pci_dev structure β¨ and the way it does that is a whole three-course meal:
- the OS initialization π
- configuring of the adapter private structure π
- a hardware reset π§
all of that happens, in that order, and it's not optional, it's the whole main character arc π
also!! the functions and their order are used as explained in /usr/src/linux/Documentation/DMA-{API,mapping}.txt β yes girl, go read the docs, they're right there π
ngl, don't sleep on the failure path β a negative return means something went sideways during init, and that's your cue to actually handle it π
β SEE ALSO β
Kernel file ./drivers/net/ethernet/tehuti/tehuti.c β the whole friend group lives there π«Ά and here's everyone, alphabetically-ish, no gatekeeping:
bdx_fifo_init(9)bdx_fifo_free(9)bdx_link_changed(9)bdx_isr_napi(9)bdx_fw_load(9)bdx_hw_start(9)bdx_close(9)bdx_open(9)__bdx_vlan_rx_vid(9)bdx_vlan_rx_add_vid(9)bdx_vlan_rx_kill_vid(9)bdx_change_mtu(9)bdx_rx_init(9)bdx_rx_free_skbs(9)bdx_rx_free(9)bdx_rx_alloc_skbs(9)bdx_rx_receive(9)__bdx_tx_db_ptr_next(9)bdx_tx_db_inc_rptr(9)bdx_tx_db_inc_wptr(9)bdx_tx_db_init(9)bdx_tx_db_close(9)bdx_tx_map_skb(9)bdx_tx_space(9)bdx_tx_transmit(9)bdx_tx_cleanup(9)bdx_tx_free_skbs(9)bdx_tx_push_desc(9)bdx_tx_push_desc_safe(9)bdx_remove(9)
aaaand that's the page π¦ mwah π this one came out of ./drivers/net/ethernet/tehuti, dated October 2026 β so fresh, so clean, slay π
β¨
π¦ 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