phylink_replay_link_end(9)
π phylink_replay_link_end(9) β the i-lost-my-state glow-up, part two π
okay so this is a page from the Kernel API Manual, bestie, and it's about phylink_replay_link_end β the little helper that β¨closes outβ¨ the link-callback replay for a driver that lost its state. yes we're doing lore today. sit down, hydrate, let's go π§
β¨ NAME β¨
phylink_replay_link_end β literally "end replay of link callbacks for driver which lost state." that's it, that's the whole vibe. your driver blacked out π and this is the part where it comes back online and we re-run the callbacks. periodt.
π¦ SYNOPSIS π¦
void phylink_replay_link_end (struct phylink *pl );
it returns void, meaning: nothing comes back to you, it just does the thing. main character energy honestly π
π ARGUMENTS π
plβ a pointer to astruct phylinkreturned fromphylink_create. like, the actual object you got handed earlier. don't be out here inventing your own, i'm begging π
π₯ DESCRIPTION π₯
okay so picture this: you're a MAC driver. you might perform a destructive reset at runtime π (yeah. destructive. like, wipes the slate). and after that the link callbacks are justβ¦ gone? stale? not it.
so this helper handles that. it calls:
- your own driver's
mac_configandmac_link_upmethods π - and also the
pcs_configandpcs_link_upmethod of the split PCS (if any β key words, iykyk)
the way it's basically phylink_start's cousin but with one big difference: this one does not alter the state of the phylib PHY. nope. not touching that. hands off π«Ά
β οΈ the rule, bestie, do not skip it: you must call this method only within the samertnl_lockcritical section as a previousphylink_replay_link_start. same lock section. that's the whole assignment. it's giving matched set π
π SEE ALSO π
so many friends. a whole friend group. here's the β¨entireβ¨ squad, no cap, nobody left out:
- the kernel file
./drivers/net/phy/phylink.c struct phylink(9)phylink_set_port_modes(9)phylink_interface_max_speed(9)phylink_caps_to_link_caps(9)phylink_caps_to_linkmodes(9)phylink_limit_mac_speed(9)phylink_cap_from_speed_duplex(9)phylink_get_capabilities(9)phylink_validate_mask_caps(9)phylink_pcs_neg_mode(9)phylink_set_fixed_link(9)phylink_create(9)phylink_destroy(9)phylink_expects_phy(9)phylink_connect_phy(9)phylink_of_phy_connect(9)phylink_fwnode_phy_connect(9)phylink_disconnect_phy(9)phylink_mac_change(9)phylink_pcs_change(9)phylink_start(9)phylink_stop(9)phylink_rx_clk_stop_block(9)phylink_rx_clk_stop_unblock(9)phylink_suspend(9)phylink_prepare_resume(9)phylink_resume(9)phylink_ethtool_get_wol(9)phylink_ethtool_set_wol(9)phylink_ethtool_ksettings_get(9)phylink_ethtool_ksettings_set(9)phylink_ethtool_nway_reset(9)phylink_ethtool_get_pauseparam(9)phylink_ethtool_set_pauseparam(9)phylink_get_eee_err(9)phylink_ethtool_get_eee(9)phylink_ethtool_set_eee(9)phylink_mii_ioctl(9)phylink_speed_down(9)phylink_speed_up(9)phylink_decode_usxgmii_word(9)phylink_decode_usgmii_word(9)phylink_mii_c22_pcs_decode_state(9)phylink_mii_c22_pcs_get_state(9)phylink_mii_c22_pcs_encode_advertisement(9)phylink_mii_c22_pcs_config(9)phylink_mii_c22_pcs_an_restart(9)phylink_replay_link_begin(9)β the other half of your set, go read it first π«Ά
and that's the page!! π¦ sourced straight from ./drivers/net/phy, stamped October 2026, filed under phylink_replay_link_end(9) in the Kernel API Manual. mwah. go forth and end your replay correctly, bestie ππβ
π¦ 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