flash_wait_op(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ flash_wait_op β€” wait for a flash operation to complete

okay so this little icon is straight out of the Kernel API Manual, section 9, and honestly? she's short, she's sweet, she does one (1) thing and she does it well. main character energy fr πŸ’…


✨ SYNOPSIS ✨

int flash_wait_op (struct adapter *adapter , int attempts , int delay );

that's it, that's the whole vibe. three args, one int coming back at you 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • adapter β€” the adapter πŸ’– like, the actual adapter, no notes, it's the adapter, that's the whole explanation, iykyk
  • attempts β€” max number of polls of the status register πŸ‘‘ so this is your cap, bestie β€” it polls the status register at most this many times, and then it stops trying, periodt
  • delay β€” delay between polls in ms ⏱️ yes the unit is milliseconds, do not come for me, it's literally in the name of the unit

πŸ’œ DESCRIPTION πŸ’œ

so what does she do?? she waits for a flash operation to complete πŸ’« and she does it by polling the status register. that's the whole method β€” no fancy interrupts, no signals, just poll, wait delay ms, poll again, up to attempts times πŸ“

like yeah it's a busy-wait and yeah she's aware, but sometimes you just gotta sit there and keep checking, you know?? no cap. the status register is the source of truth and she's gonna look at it until something changes or she runs out of attempts 🌸


🌈 SEE ALSO 🌈

okay so there's a lot of siblings here, she's got a big family, and every single one of them is below because I would never do them dirty by leaving one out 😭 (also: Kernel file ./drivers/net/ethernet/chelsio/cxgb4/t4_hw.c β€” that's where she lives, that's her house 🏠)

t4_wait_op_done_val(9), t4_set_reg_field(9), t4_read_indirect(9),
t4_write_indirect(9), t4_record_mbox(9), t4_wr_mbox_meat_timeout(9),
t4_memory_rw_init(9), t4_memory_update_win(9), t4_memory_rw_residual(9),
t4_memory_rw(9), t4_get_regs_len(9), t4_get_regs(9), t4_eeprom_ptov(9),
t4_seeprom_wp(9), t4_get_raw_vpd_params(9), t4_get_vpd_params(9),
t4_get_pfres(9), sf1_read(9), sf1_write(9), t4_read_flash(9),
t4_write_flash(9), t4_get_fw_version(9), t4_get_bs_version(9),
t4_get_tp_version(9), t4_get_exprom_version(9), t4_get_vpd_version(9),
t4_get_scfg_version(9), t4_get_version_info(9), t4_dump_version_info(9),
t4_check_fw_version(9), t4_flash_erase_sectors(9), t4_flash_cfg_addr(9),
t4_load_fw(9), t4_phy_fw_ver(9), t4_load_phy_fw(9), t4_fwcache(9),
fwcaps16_to_caps32(9), fwcaps32_to_caps16(9), t4_link_acaps(9),
t4_link_l1cfg_core(9), t4_restart_aneg(9), t4_handle_intr_status(9),
t4_slow_intr_handler(9), t4_intr_enable(9), t4_intr_disable(9),
t4_config_rss_range(9), t4_config_glbl_rss(9), t4_config_vi_rss(9),
t4_read_rss(9), t4_tp_fw_ldst_rw(9), t4_tp_indirect_rw(9),
t4_tp_pio_read(9), t4_tp_pio_write(9), t4_tp_tm_pio_read(9),
t4_tp_mib_read(9), t4_read_rss_key(9), t4_write_rss_key(9),
t4_read_rss_pf_config(9), t4_read_rss_vf_config(9),
t4_read_rss_pf_map(9), t4_read_rss_pf_mask(9), t4_tp_get_tcp_stats(9),
t4_tp_get_err_stats(9), t4_tp_get_cpl_stats(9), t4_tp_get_rdma_stats(9),
t4_get_fcoe_stats(9), t4_get_usm_stats(9), t4_read_mtu_tbl(9),
t4_read_cong_tbl(9), t4_tp_wr_bits_indirect(9), init_cong_ctrl(9),
t4_load_mtus(9), t4_get_chan_txrate(9), t4_set_trace_filter(9),
t4_get_trace_filter(9), t4_pmtx_get_stats(9), t4_pmrx_get_stats(9),
compute_mps_bg_map(9), t4_get_mps_bg_map(9), t4_get_tp_e2c_map(9),
t4_get_tp_ch_map(9), t4_get_port_type_description(9),
t4_get_port_stats_offset(9), t4_get_port_stats(9), t4_get_lb_stats(9),
t4_mdio_rd(9), t4_mdio_wr(9), t4_sge_decode_idma_state(9),
t4_sge_ctxt_flush(9), t4_read_sge_dbqtimers(9), t4_fw_hello(9),
t4_fw_bye(9), t4_early_init(9), t4_fw_reset(9), t4_fw_halt(9),
t4_fw_restart(9), t4_fw_upgrade(9), t4_fl_pkt_align(9),
t4_fixup_host_params(9), t4_fw_initialize(9), t4_query_params_rw(9),
t4_set_params_timeout(9), t4_set_params(9), t4_cfg_pfvf(9),
t4_alloc_vi(9), t4_free_vi(9), t4_set_rxmode(9),
t4_free_encap_mac_filt(9), t4_free_raw_mac_filt(9),
t4_alloc_encap_mac_filt(9), t4_alloc_raw_mac_filt(9),
t4_alloc_mac_filt(9), t4_free_mac_filt(9), t4_change_mac(9),
t4_set_addr_hash(9), t4_enable_vi_params(9), t4_enable_vi(9),
t4_enable_pi_params(9), t4_identify_port(9), t4_iq_stop(9),
t4_iq_free(9), t4_eth_eq_free(9), t4_ctrl_eq_free(9),
t4_ofld_eq_free(9), t4_link_down_rc_str(9), fwcap_to_fwspeed(9),
lstatus_to_fwcap(9), t4_handle_get_port_info(9), t4_update_port_info(9),
t4_get_link_params(9), t4_handle_fw_rpl(9), init_link_config(9),
t4_prep_adapter(9), t4_shutdown_adapter(9), t4_bar2_sge_qregs(9),
t4_init_devlog_params(9), t4_init_sge_params(9), t4_init_tp_params(9),
t4_filter_field_shift(9), t4_init_portinfo(9), t4_read_cimq_cfg(9),
t4_read_cim_ibq(9), t4_read_cim_obq(9), t4_cim_read(9), t4_cim_write(9),
t4_cim_read_la(9), t4_tp_read_la(9), t4_idma_monitor_init(9),
t4_idma_monitor(9), t4_load_cfg(9), t4_set_vf_mac_acl(9),
t4_read_pace_tbl(9), t4_get_tx_sched(9), t4_sge_ctxt_rd_bd(9),
t4_i2c_rd(9), t4_set_vlan_acl(9), modify_device_id(9), t4_load_boot(9),
t4_flash_bootcfg_addr(9)

ngl there are no options, no environment variables, no exit statuses, no signals and no bugs listed on this page β€” she's a two-line function and she knows it πŸ’€ don't go looking for drama that isn't there πŸ™ˆ

and that's the page!! 🧚 mwah πŸ’‹ this one came from ./drivers/net/ethernet/chelsio/cxgb4/t4_hw.c and is dated October 2026 β€” love her, stan her, poll that status register responsibly βœ¨πŸŽ€πŸ‘‘

πŸ“¦ where this page comes from