lpfc_bsg_issue_mbox(9)
π lpfc_bsg_issue_mbox β from the Kernel API Manual, section 9 π
okay so bestie, picture this: an app out there needs a mailbox command done, and it literally cannot do it itself. that's where this icon comes in. lpfc_bsg_issue_mbox is the one sliding into the kernel to issue a mailbox command on behalf of an app. no cap. π
β¨ SYNOPSIS β¨
int lpfc_bsg_issue_mbox (struct lpfc_hba *phba , struct bsg_job *job ,
struct lpfc_vport *vport );
look at that signature. it's giving function goals. π¦
πΈ ARGUMENTS πΈ
phbaβ pointer to the HBA context object. your main character struct, honestly.jobβ pointer to the job object. this is the errand, the task, the little mission.vportβ pointer to a vport object. yes, there's a vport too. it's a whole trio. π«Ά
π DESCRIPTION π
so here's the whole vibe, step by step:
- it allocates a tracking object
- it allocates mailbox command memory
- it grabs a mailbox from the mailbox pool
- it copies the caller mailbox command
that's the setup slay. β¨ now the twist:
if we're offline and the sli is active, bestie, we need to poll for the command (the port is being reset, it's going through it rn π) and then complete the job.
otherwise? we just issue the mailbox command and let our completion handler finish the command. easy. iconic. periodt.
two totally different paths depending on whether you're offline + sli active. don't mix them up, fr fr. π
π¦ SEE ALSO π¦
and now the friend group. the whole group chat, if you will. the kernel file itself lives at ./drivers/scsi/lpfc/lpfc_bsg.c π
lpfc_bsg_send_mgmt_cmd_cmp(9)lpfc_bsg_send_mgmt_cmd(9)lpfc_bsg_rport_els_cmp(9)lpfc_bsg_rport_els(9)lpfc_bsg_event_free(9)lpfc_bsg_event_ref(9)lpfc_bsg_event_unref(9)lpfc_bsg_event_new(9)diag_cmd_data_free(9)lpfc_bsg_ct_unsol_abort(9)lpfc_bsg_hba_set_event(9)lpfc_bsg_hba_get_event(9)lpfc_issue_ct_rsp_cmp(9)lpfc_issue_ct_rsp(9)lpfc_bsg_send_mgmt_rsp(9)lpfc_bsg_diag_mode_enter(9)lpfc_bsg_diag_mode_exit(9)lpfc_sli3_bsg_diag_loopback_mode(9)lpfc_sli4_bsg_set_link_diag_state(9)lpfc_sli4_bsg_set_loopback_mode(9)lpfc_sli4_diag_fcport_reg_setup(9)lpfc_sli4_bsg_diag_loopback_mode(9)lpfc_bsg_diag_loopback_mode(9)lpfc_sli4_bsg_diag_mode_end(9)lpfc_sli4_bsg_link_diag_test(9)lpfcdiag_loop_self_reg(9)lpfcdiag_loop_self_unreg(9)lpfcdiag_loop_get_xri(9)lpfc_bsg_dma_page_alloc(9)lpfc_bsg_dma_page_free(9)lpfc_bsg_dma_page_list_free(9)diag_cmd_data_alloc(9)lpfcdiag_sli3_loop_post_rxbufs(9)lpfc_bsg_diag_loopback_run(9)lpfc_bsg_get_dfc_rev(9)lpfc_bsg_issue_mbox_cmpl(9)lpfc_bsg_check_cmd_access(9)lpfc_bsg_mbox_ext_session_reset(9)lpfc_rd_obj_emb0_handle_job(9)lpfc_bsg_issue_mbox_ext_handle_job(9)lpfc_bsg_issue_read_mbox_ext_cmpl(9)lpfc_bsg_issue_write_mbox_ext_cmpl(9)lpfc_bsg_sli_cfg_read_cmd_ext(9)lpfc_bsg_sli_cfg_write_cmd_ext(9)lpfc_bsg_handle_sli_cfg_mbox(9)lpfc_bsg_mbox_ext_abort(9)lpfc_bsg_read_ebuf_get(9)lpfc_bsg_write_ebuf_set(9)lpfc_bsg_handle_sli_cfg_ebuf(9)lpfc_bsg_handle_sli_cfg_ext(9)lpfc_bsg_mbox_cmd(9)lpfc_check_fwlog_support(9)lpfc_bsg_get_ras_config(9)lpfc_bsg_set_ras_config(9)lpfc_bsg_get_ras_lwpd(9)lpfc_bsg_get_ras_fwlog(9)lpfc_bsg_hst_vendor(9)lpfc_bsg_request(9)lpfc_bsg_timeout(9)
that's a lot of friends but every single one of them is valid and they all get a shoutout. iykyk. π«Ά
okay that's the whole page, mwah π this little beauty lives over in ./drivers/scsi/lpfc and it's stamped October 2026 β write that down bestie, future you will thank you. πβ¨
π¦ 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