lpfc_mbox_cmpl_put(9)
π lpfc_mbox_cmpl_put(9) β Kernel API Manual π
okay so bestie, welcome to the lpfc_mbox_cmpl_put page π this one lives in the kernel API manual and it's honestly kinda iconic for how much heavy lifting a single function call does. grab a strawberry drink π and let's go.
β¨ NAME β¨
lpfc_mbox_cmpl_put β puts a mailbox command into the mailbox command complete list. that's it, that's the whole vibe π
πΈ SYNOPSIS πΈ
void lpfc_mbox_cmpl_put (struct lpfc_hba *phba , LPFC_MBOXQ_t *mbq );
no return value, no drama. it's giving β¨voidβ¨ and honestly? slay. π₯
π¦ ARGUMENTS π¦
phbaβ pointer to the lpfc hba data structure. yes queen, the hba of it all πmbqβ pointer to the driver internal queue element for the mailbox command. this is the actual mailbox command being passed around, main character energy fr fr π«
π DESCRIPTION π
so what does this routine actually do? it puts the completed mailbox command into the mailbox command complete list. lowkey that's the entire plot πΏ
it's also the locked version of the routine β so like, it handles its own locking, no cap π (iykyk what that means for the caller, bestie π).
and why do we even have a complete list, you ask? because the driver worker thread uses it to process the mailbox complete callback functions outside of the driver interrupt handler. so the interrupt handler isn't out here doing side quests β it just hands things off. iconic delegation honestly π§β¨
not me being obsessed with how clean that separation of concerns is π
π SEE ALSO π
the kernel file ./drivers/scsi/lpfc/lpfc_mbox.c β and literally the whole friend group of related calls, all in their (9) era:
lpfc_mbox_rsrc_prep(9)lpfc_mbox_rsrc_cleanup(9)lpfc_dump_static_vport(9)lpfc_down_link(9)lpfc_dump_mem(9)lpfc_dump_wakeup_param(9)lpfc_read_nv(9)lpfc_config_async(9)lpfc_heart_beat(9)lpfc_read_topology(9)lpfc_clear_la(9)lpfc_config_link(9)lpfc_config_msi(9)lpfc_init_link(9)lpfc_read_sparam(9)lpfc_unreg_did(9)lpfc_read_config(9)lpfc_read_lnk_stat(9)lpfc_reg_rpi(9)lpfc_unreg_login(9)lpfc_sli4_unreg_all_rpis(9)lpfc_reg_vpi(9)lpfc_unreg_vpi(9)lpfc_config_pcb_setup(9)lpfc_read_rev(9)lpfc_build_hbq_profile2(9)lpfc_build_hbq_profile3(9)lpfc_build_hbq_profile5(9)lpfc_config_hbq(9)lpfc_config_ring(9)lpfc_config_port(9)lpfc_kill_board(9)lpfc_mbox_put(9)lpfc_mbox_get(9)__lpfc_mbox_cmpl_put(9)lpfc_mbox_cmd_check(9)lpfc_mbox_dev_check(9)lpfc_mbox_tmo_val(9)lpfc_sli4_mbx_sge_set(9)lpfc_sli4_mbx_sge_get(9)lpfc_sli4_mbox_cmd_free(9)lpfc_sli4_config(9)lpfc_sli4_mbox_rsrc_extent(9)lpfc_sli_config_mbox_subsys_get(9)lpfc_sli_config_mbox_opcode_get(9)lpfc_sli4_mbx_read_fcf_rec(9)lpfc_request_features(9)lpfc_init_vfi(9)lpfc_reg_vfi(9)lpfc_init_vpi(9)lpfc_unreg_vfi(9)lpfc_sli4_dump_cfg_rg23(9)lpfc_reg_fcfi(9)lpfc_reg_fcfi_mrq(9)lpfc_unreg_fcfi(9)lpfc_resume_rpi(9)
like, that's a lot of friends. ate and left no crumbs π½οΈ
π«Ά that's the whole page bestie β no cap, every flag and reference accounted for.
kisses, and go read some kernel source π this one's chilling at ./drivers/scsi/lpfc, dated October 2026, and the whole manual page is filed under lpfc_mbox_cmpl_put(9). bye diva πΈπ¦β¨
π¦ 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