stmmac_tx_timeout(9)
π NAME
okay so bestie, this is stmmac_tx_timeout β and the manual page literally just says the name and then dips, no description at all. iconic behaviour honestly. it's the transmit timeout handler for the stmmac ethernet driver, and this is the Kernel API Manual page for it π«Ά
β¨ SYNOPSIS
void stmmac_tx_timeout (struct net_device *dev , unsigned int txqueue );
that's the whole signature, no cap. returns void, takes two args, handles business π
π ARGUMENTS
devβ the pointer to the net device structure, aka the NIC's whole personality in one struct πΈtxqueueβ the index of the hanging transmit queue, i.e. which specific queue is out here embarrassing us by not finishing π
π¦ DESCRIPTION
so here's the vibe: this function gets called when a packet transmission fails to complete within a reasonable time. like the packet justβ¦ never came back. ghosted us. π
and the way this driver handles it? it marks the error in the netdev structure, and then it arranges for the device to be reset to a sane state β all so it can go ahead and transmit a new packet. self-care for the NIC, fr fr. reset the vibe, clear the drama, start fresh β¨
π SEE ALSO
the kernel file itself lives at ./drivers/net/ethernet/stmicro/stmmac/stmmac_main.c β that's the source of truth bestie, go look π
and literally the entire stmmac extended family shows up here, so feast your eyes:
stmmac_set_clk_tx_rate(9)stmmac_axi_blen_to_mask(9)stmmac_verify_args(9)stmmac_disable_all_queues(9)stmmac_enable_all_queues(9)stmmac_rx_dirty(9)stmmac_try_to_start_sw_lpi(9)stmmac_stop_sw_lpi(9)stmmac_eee_ctrl_timer(9)stmmac_hwtstamp_set(9)stmmac_hwtstamp_get(9)stmmac_init_tstamp_counter(9)stmmac_init_timestamping(9)stmmac_mac_flow_ctrl(9)stmmac_check_pcs_mode(9)stmmac_init_phy(9)stmmac_clear_rx_descriptors(9)stmmac_clear_tx_descriptors(9)stmmac_clear_descriptors(9)stmmac_init_rx_buffers(9)stmmac_free_rx_buffer(9)stmmac_free_tx_buffer(9)dma_free_rx_skbufs(9)dma_free_rx_xskbufs(9)__init_dma_rx_desc_rings(9)__init_dma_tx_desc_rings(9)init_dma_desc_rings(9)dma_free_tx_skbufs(9)stmmac_free_tx_skbufs(9)__free_dma_rx_desc_resources(9)__free_dma_tx_desc_resources(9)__alloc_dma_rx_desc_resources(9)__alloc_dma_tx_desc_resources(9)alloc_dma_desc_resources(9)free_dma_desc_resources(9)stmmac_mac_enable_rx_queues(9)stmmac_start_rx_dma(9)stmmac_start_tx_dma(9)stmmac_stop_rx_dma(9)stmmac_stop_tx_dma(9)stmmac_start_all_dma(9)stmmac_stop_all_dma(9)stmmac_dma_operation_mode(9)stmmac_tx_clean(9)stmmac_tx_err(9)stmmac_set_dma_operation_mode(9)stmmac_dma_interrupt(9)stmmac_mmc_setup(9)stmmac_get_hw_features(9)stmmac_check_ether_addr(9)stmmac_init_dma_engine(9)stmmac_tx_timer(9)stmmac_init_coalesce(9)stmmac_set_tx_queue_weight(9)stmmac_configure_cbs(9)stmmac_rx_queue_dma_chan_map(9)stmmac_mac_config_rx_queues_prio(9)stmmac_mac_config_tx_queues_prio(9)stmmac_mac_config_rx_queues_routing(9)stmmac_mtl_configuration(9)stmmac_hw_setup(9)stmmac_setup_dma_desc(9)__stmmac_open(9)stmmac_release(9)stmmac_tso_allocator(9)stmmac_tso_xmit(9)stmmac_has_ip_ethertype(9)stmmac_xmit(9)stmmac_rx_refill(9)stmmac_rx(9)stmmac_set_rx_mode(9)stmmac_change_mtu(9)stmmac_interrupt(9)stmmac_ioctl(9)stmmac_hw_init(9)stmmac_dvr_probe(9)stmmac_dvr_remove(9)stmmac_suspend(9)stmmac_reset_queues_param(9)stmmac_resume(9)
that's the whole page bestie, we ate and left zero crumbs π β¨ mwah π
okay and the cute little sign-off the manual left at the bottom: source is ./drivers/net/ethernet/stmicro... and the date is October 2026 β so like, mark your calendars, this page is from the future π¦πΈ
π¦ 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