bnx2x_func_reset_func(9)
π bnx2x_func_reset_func(9) β a Kernel API Manual moment
okay so bestie, welcome to bnx2x_func_reset_func(9), straight out of the Kernel API Manual β¨ this one's short and sweet and honestly kind of a vibe β it's a little reset function that minds its own business. no cap.
β¨ NAME β¨
bnx2x_func_reset_func β reset HW at function stage π
like, it resets hardware. at the function stage. that's the whole personality. iconic honestly.
πΈ SYNOPSIS πΈ
void bnx2x_func_reset_func (struct bnx2x *bp , const struct
bnx2x_func_sp_drv_ops *drv );
yep, that's it β returns void, takes two pointers, no drama π
(and yes, the space before the commas is canon, do not come for me, I'm copying it exactly fr fr)
π¦ ARGUMENTS π¦
bpβ device handle. your main character. the device itself π«Άdrvβ okay so the manpage literally just saysdrvand then... nothing π no description, no explanation, absolutely zero notes. I'm not making anything up for you, bestie β that entry is just vibes and a name. take it up with the docs π
π₯ DESCRIPTION π₯
okay so here's the tea β this function resets HW at the FW_MSG_CODE_DRV_UNLOAD_FUNCTION stage. and the way that works is very specific: it resets only FUNCTION-only HW blocks π
read that again. FUNCTION-only. it's not out here resetting the whole chip, it's not touching anything else, it is laser-focused on the function-only blocks and nothing else. main character energy with boundaries. we love to see it π
π SEE ALSO π
bestie. buckle up. this list is LONG. like, aggressively long. the kernel devs said "you want related functions? here's every single one" and then kept going π but I promised you every detail, so here's every detail:
The kernel file this lives in:
./drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c
and the whole entire friend group:
bnx2x_exe_queue_init(9)bnx2x_exe_queue_add(9)bnx2x_exe_queue_step(9)bnx2x_state_wait(9)__bnx2x_vlan_mac_h_write_trylock(9)__bnx2x_vlan_mac_h_exec_pending(9)__bnx2x_vlan_mac_h_pend(9)__bnx2x_vlan_mac_h_write_unlock(9)__bnx2x_vlan_mac_h_read_lock(9)bnx2x_vlan_mac_h_read_lock(9)__bnx2x_vlan_mac_h_read_unlock(9)bnx2x_vlan_mac_h_read_unlock(9)bnx2x_vlan_mac_set_cmd_hdr_e2(9)bnx2x_vlan_mac_set_rdata_hdr_e2(9)bnx2x_vlan_mac_set_rdata_hdr_e1x(9)bnx2x_set_one_mac_e1x(9)bnx2x_set_one_vlan_mac_e1h(9)bnx2x_vlan_mac_restore(9)bnx2x_validate_vlan_mac_add(9)bnx2x_validate_vlan_mac_del(9)bnx2x_validate_vlan_mac_move(9)bnx2x_wait_vlan_mac(9)bnx2x_complete_vlan_mac(9)bnx2x_optimize_vlan_mac(9)bnx2x_vlan_mac_get_registry_elem(9)bnx2x_execute_vlan_mac(9)bnx2x_config_vlan_mac(9)bnx2x_vlan_mac_del_all(9)bnx2x_mcast_get_next_bin(9)bnx2x_mcast_clear_first_bin(9)bnx2x_mcast_handle_restore_cmd_e2(9)bnx2x_mcast_handle_current_cmd(9)bnx2x_mcast_set_rdata_hdr_e2(9)bnx2x_mcast_refresh_registry_e2(9)bnx2x_mcast_set_rdata_hdr_e1(9)bnx2x_mcast_handle_restore_cmd_e1(9)bnx2x_get_fw_mac_addr(9)bnx2x_mcast_refresh_registry_e1(9)__atomic_add_ifless(9)__atomic_dec_ifmoe(9)bnx2x_init_credit_pool(9)bnx2x_debug_print_ind_table(9)bnx2x_setup_rss(9)bnx2x_queue_state_change(9)bnx2x_queue_comp_cmd(9)bnx2x_q_init(9)bnx2x_q_send_deactivate(9)bnx2x_q_send_activate(9)bnx2x_queue_chk_transition(9)bnx2x_func_state_change_comp(9)bnx2x_func_comp_cmd(9)bnx2x_func_chk_transition(9)bnx2x_func_init_func(9)bnx2x_func_init_port(9)bnx2x_func_init_cmn_chip(9)bnx2x_func_init_cmn(9)bnx2x_func_reset_port(9)bnx2x_func_reset_cmn(9)bnx2x_func_state_change(9)
see? told you. every. single. one. π β¨
lowkey if you're reading this whole list out loud for an exam, drink some water first bestie π
π a little sign-off π
this page comes from the source path ./drivers/net/ethernet/broadco... (yeah, they truncated it, not me π) and it's dated October 2026. that's the version/date tea for bnx2x_func_reset_func(9) β go forth and reset only your FUNCTION-only HW blocks, queen ππ
π¦ 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