__bnx2x_vlan...rite_trylock(9)
πΈ NAME πΈ
__bnx2x_vlan_mac_h_write_trylock β okay so this one tries to get the vlan mac writer lock, bestie. That's the whole vibe. It's giving "attempt" not "guarantee" π
(also hiii, this is a Kernel API Manual page, so welcome to the kernel-side of the group chat π«Ά)
β¨ SYNOPSIS β¨
int __bnx2x_vlan_mac_h_write_trylock (struct bnx2x *bp , struct
bnx2x_vlan_mac_obj *o );
Like, that's the whole call. Two args, one int coming back at you π₯
π ARGUMENTS π
bpβ the device handle. Your ticket to the hardware, no cap.oβ the vlan_mac object. The thing you're actually trying to lock, queen π
π¦ CONTEXT π¦
Non-blocking implementation, okay? Non-blocking. So it's not gonna sit there and wait around like some clingy ex π
And this is the important bit: it should be called under execution queue lock. Like, you gotta already be holding that lock, bestie. Don't come in here unlocked, that's not the vibe. π¨
π SEE ALSO π
Kernel file ./drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c β that's where the actual source lives, go read it, it's iconic β¨
And here's the whole extended friend group, every single one, no skips:
bnx2x_exe_queue_init(9)bnx2x_exe_queue_add(9)bnx2x_exe_queue_step(9)bnx2x_state_wait(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_func(9)bnx2x_func_reset_port(9)bnx2x_func_reset_cmn(9)bnx2x_func_state_change(9)
Okay that's the whole page, mwah π
Sign-off time, and it's a cute one: this page came from ./drivers/net/ethernet/broadco... (yes it's truncated in the source, don't @ me π), dated October 2026, under the __bnx2x_vlan...rite_trylock(9) banner. Slay, bye 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