ice_wait_for_reset(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– ice_wait_for_reset(9) πŸ’–

okay so bestie, welcome to the ice_wait_for_reset(9) page from the Kernel API Manual β€” yes, that's the manual section named <purple>9</purple>, we love a niche section number, iykyk. this is the one where the driver needs a lil nap break while it finishes cleaning up after a device reset, and you're the one who has to wait for it. slay. let's get into it 🫢


✨ NAME ✨

ice_wait_for_reset β€” literally wait for the driver to finish reset and rebuild. that's the whole vibe. patience is a virtue and today it's a function πŸ’…


🌸 SYNOPSIS 🌸

int ice_wait_for_reset (struct ice_pf *pf , unsigned long timeout );

πŸŽ€ ARGUMENTS πŸŽ€

  • pf β€” pointer to the PF structure. yes. the whole PF. she's the main character here πŸ‘‘
  • timeout β€” length of time to wait, in jiffies. that's the unit, don't @ me, jiffies are iconic in their own weird way ⏱️

πŸ¦‹ DESCRIPTION πŸ¦‹

so basically: you wait (as in sleep 😴) for a short time until the driver finishes cleaning up from a device reset. that's it, that's the function.

the one thing you cannot skip: the caller must be able to sleep. no cap, if you can't sleep, this isn't the function for you, bestie πŸ™ˆ

use this to delay operations that could fail while the driver is cleaning up after a device reset. it's giving "hold on, she's not ready yet" energy πŸ’…

now the returns, and these matter so listen up:

  • returns 0 on success πŸŽ‰
  • returns -EBUSY if the reset is not finished within the timeout 😭
  • returns -ERESTARTSYS if the thread was interrupted πŸ’€
lowkey important: if the caller can't sleep, this whole thing falls apart. sleep-ability is not optional here, fr fr.

🌈 SEE ALSO 🌈

the kernel file lives at ./drivers/net/ethernet/intel/ice/ice_lib.c β€” go say hi 🧚

and here's the whole friend group, all of them (9) pages, all of them iconic:

ice_vsi_type_str(9), ice_vsi_ctrl_all_rx_rings(9), ice_vsi_alloc_arrays(9), ice_vsi_set_num_desc(9), ice_vsi_set_num_qs(9), ice_get_free_slot(9), ice_vsi_delete_from_hw(9), ice_vsi_free_arrays(9), ice_vsi_free_stats(9), ice_vsi_alloc_ring_stats(9), ice_vsi_free(9), ice_msix_clean_ctrl_vsi(9), ice_msix_clean_rings(9), ice_vsi_alloc_stat_arrays(9), ice_vsi_alloc_def(9), ice_vsi_alloc(9), ice_alloc_fd_res(9), ice_vsi_get_qs(9), ice_vsi_put_qs(9), ice_is_safe_mode(9), ice_is_rdma_ena(9), ice_vsi_clean_rss_flow_fld(9), ice_rss_clean(9), ice_vsi_set_rss_params(9), ice_set_dflt_vsi_ctx(9), ice_vsi_setup_q_map(9), ice_set_fd_vsi_ctx(9), ice_set_rss_vsi_ctx(9), ice_vsi_is_vlan_pruning_ena(9), ice_vsi_init(9), ice_vsi_clear_rings(9), ice_vsi_alloc_rings(9), ice_vsi_manage_rss_lut(9), ice_vsi_cfg_crc_strip(9), ice_vsi_cfg_rss_lut_key(9), ice_vsi_set_vf_rss_flow_fld(9), ice_vsi_set_rss_flow_fld(9), ice_pf_state_is_nominal(9), ice_update_eth_stats(9), ice_write_qrxflxp_cntxt(9), ice_intrl_usec_to_reg(9), ice_write_intrl(9), __ice_write_itr(9), ice_write_itr(9), ice_set_q_vector_intrl(9), ice_vsi_cfg_msix(9), ice_vsi_start_all_rx_rings(9), ice_vsi_stop_all_rx_rings(9), ice_vsi_stop_tx_rings(9), ice_vsi_stop_lan_tx_rings(9), ice_vsi_stop_xdp_tx_rings(9), ice_vsi_is_rx_queue_active(9), ice_vsi_cfg_sw_lldp(9), ice_cfg_sw_rx_lldp(9), ice_set_agg_vsi(9), ice_vsi_cfg_def(9), ice_vsi_cfg(9), ice_vsi_decfg(9), ice_vsi_setup(9), ice_vsi_release_msix(9), ice_vsi_free_irq(9), ice_vsi_free_tx_rings(9), ice_vsi_free_rx_rings(9), ice_vsi_close(9), ice_ena_vsi(9), ice_dis_vsi(9), ice_vsi_set_napi_queues(9), ice_vsi_clear_napi_queues(9), ice_napi_add(9), ice_vsi_release(9), ice_vsi_rebuild_get_coalesce(9), ice_vsi_rebuild_set_coalesce(9), ice_vsi_realloc_stat_arrays(9), ice_vsi_rebuild(9), ice_is_reset_in_progress(9), ice_vsi_update_q_map(9), ice_vsi_cfg_netdev_tc(9), ice_vsi_setup_q_map_mqprio(9), ice_vsi_cfg_tc(9), ice_update_tx_ring_stats(9), ice_update_rx_ring_stats(9), ice_fetch_tx_ring_stats(9), ice_fetch_rx_ring_stats(9), ice_is_dflt_vsi_in_use(9), ice_is_vsi_dflt_vsi(9), ice_set_dflt_vsi(9), ice_clear_dflt_vsi(9), ice_get_link_speed_mbps(9), ice_get_link_speed_kbps(9), ice_set_min_bw_limit(9), ice_set_max_bw_limit(9), ice_set_link(9), ice_vsi_add_vlan_zero(9), ice_vsi_del_vlan_zero(9), ice_vsi_num_zero_vlans(9), ice_vsi_has_non_zero_vlans(9), ice_vsi_num_non_zero_vlans(9), ice_is_feature_supported(9), ice_set_feature_support(9), ice_clear_feature_support(9), ice_init_feature_support(9), ice_vsi_update_security(9), ice_vsi_ctx_set_antispoof(9), ice_vsi_ctx_clear_antispoof(9), ice_vsi_update_local_lb(9), ice_vsi_update_l2tsel(9)

like. that's the entire extended universe, bestie, no crumbs left πŸ“


and that's the page!! 🌟 this lil beauty comes from the <cyan>./drivers/net/ethernet/intel/ice</cyan> corner of the kernel, dated <peach>October 2026</peach>, under the Kernel API Manual umbrella. mwah, go forth and wait responsibly πŸ’œπŸŽ€

πŸ“¦ where this page comes from