i40e_ptp_tx_hang(9)
πΈ i40e_ptp_tx_hang β the kernel API manual, bestie edition β¨
okay so you know how man pages are usually a total snooze? not this one. this is i40e_ptp_tx_hang(9) from the Kernel API Manual, and honestly it's giving "tiny watchdog function with main character energy" π
β¨ NAME β¨
i40e_ptp_tx_hang β catch the messy error case where the Tx timestamp register is straight-up hung π like it just stopped responding, no cap
π¦ SYNOPSIS π¦
void i40e_ptp_tx_hang (struct i40e_pf *pf );
that's it. that's the whole vibe. void return, one argument, slay π«Ά
π ARGUMENTS π
pfβ the PF private data structure π literally the private-data-structure moment, she's the star of the show
π DESCRIPTION π
okay so bestie, here's the tea β β this is a watchdog task, and she runs periodically to make sure we clear the Tx timestamp logic if we don't obtain a timestamp in a reasonable amount of time β° she's just checking in. lowkey protective. highkey necessary.
now the important part: this situation is unexpected in the normal case π like normally it simply does not happen. but if it does occur? it results in permanently preventing timestamps of future packets π yeah. permanent. forever. not a little glitch β a whole vibe-ruining, timestamp-blocking situation. so the watchdog exists so that never happens. periodt π₯
ngl, "permanently preventing timestamps of future packets" is the scary sentence in this whole page. read it twice. she's not being dramatic, that's just what it says π
π§ SEE ALSO π§
the kernel file she lives in π:
Kernel file ./drivers/net/ethernet/intel/i40e/i40e_ptp.c
and now, the full friend group π every single one of these, in the exact order the original gave them:
i40e_ptp_extts0_work(9)i40e_is_ptp_pin_dev(9)i40e_can_set_pins(9)i40_ptp_reset_timing_events(9)i40e_ptp_verify(9)i40e_ptp_read(9)i40e_ptp_write(9)i40e_ptp_convert_to_hwtstamp(9)i40e_ptp_adjfine(9)i40e_ptp_set_1pps_signal_hw(9)i40e_ptp_adjtime(9)i40e_ptp_gettimex(9)i40e_ptp_settime(9)i40e_pps_configure(9)i40e_pin_state(9)i40e_ptp_enable_pin(9)i40e_ptp_feature_enable(9)i40e_ptp_get_rx_events(9)i40e_ptp_rx_hang(9)i40e_ptp_tx_hwtstamp(9)i40e_ptp_rx_hwtstamp(9)i40e_ptp_set_increment(9)i40e_ptp_hwtstamp_get(9)i40e_ptp_free_pins(9)i40e_ptp_set_pin_hw(9)i40e_ptp_set_led_hw(9)i40e_ptp_init_leds_hw(9)i40e_ptp_set_pins_hw(9)i40e_ptp_set_pins(9)i40e_ptp_alloc_pins(9)i40e_ptp_set_timestamp_mode(9)i40e_ptp_hwtstamp_set(9)i40e_init_pin_config(9)i40e_ptp_create_clock(9)i40e_ptp_save_hw_time(9)i40e_ptp_restore_hw_time(9)i40e_ptp_init(9)i40e_ptp_stop(9)
(yes i40_ptp_reset_timing_events(9) really is spelled like that in the original β don't come for me, I copied it character for character π
)
okay that's the whole page, you ate it up, go read i40e_ptp_rx_hang(9) next for the matching set π
source + version: ./drivers/net/ethernet/intel/i40e Β· dated October 2026 Β· manual page i40e_ptp_tx_hang(9) β byeee 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