lpfc_sli_hbqbuf_free_all(9)
okay bestie, welcome to lpfc_sli_hbqbuf_free_all(9) β itβs giving Kernel API Manual energy, and weβre absolutely getting into it π
β¨
πΈ NAME πΈ
lpfc_sli_hbqbuf_free_all β free all the hbq buffers. Thatβs the whole assignment, no cap. π§Ήπ
β¨ SYNOPSIS β¨
void lpfc_sli_hbqbuf_free_all (struct lpfc_hba *phba );
It returns void, so thereβs no little return value to catch β it just does the thing. The one and only arg is phba. π«Ά
π ARGUMENTS π
phbaβ pointer to the HBA context object. Hand over the HBAβs context bag and youβre set. π
π¦ DESCRIPTION π¦
Okay so hereβs the vibe: this function is called with no lock held to free all the hbq buffers while the SLI interface is being uninitialized. No lock held, bestie β thatβs literally the setup stated on the page. πβ
It also frees the HBQ buffers returned by the firmware but not yet processed by the upper layers. So itβs cleaning up those returned-but-still-waiting-for-the-upper-layers buffers too. Itβs a whole cleanup moment. π§Ήβ¨
π SEE ALSO π
Kernel file: ./drivers/scsi/lpfc/lpfc_sli.c β and hereβs the iconic extended universe, every single reference preserved exactly:
lpfc_sli4_pcimem_bcopy(9), lpfc_sli4_wq_put(9), lpfc_sli4_wq_release(9),
lpfc_sli4_mq_put(9), lpfc_sli4_mq_release(9), lpfc_sli4_eq_get(9),
lpfc_sli4_eq_clr_intr(9), lpfc_sli4_if6_eq_clr_intr(9),
lpfc_sli4_write_eq_db(9), lpfc_sli4_if6_write_eq_db(9),
lpfc_sli4_cq_get(9), lpfc_sli4_write_cq_db(9),
lpfc_sli4_if6_write_cq_db(9), lpfc_cmd_iocb(9), lpfc_resp_iocb(9),
__lpfc_sli_get_iocbq(9), __lpfc_clear_active_sglq(9),
__lpfc_get_active_sglq(9), lpfc_clr_rrq_active(9),
lpfc_handle_rrq_active(9), lpfc_get_active_rrq(9),
lpfc_cleanup_vports_rrqs(9), lpfc_test_rrq_active(9),
lpfc_set_rrq_active(9), __lpfc_sli_get_els_sglq(9),
__lpfc_sli_get_nvmet_sglq(9), lpfc_sli_get_iocbq(9),
__lpfc_sli_release_iocbq_s4(9), __lpfc_sli_release_iocbq_s3(9),
__lpfc_sli_release_iocbq(9), lpfc_sli_release_iocbq(9),
lpfc_sli_cancel_iocbs(9), lpfc_sli_iocb_cmd_type(9),
lpfc_sli_ring_map(9), lpfc_sli_ringtxcmpl_put(9),
lpfc_sli_ringtx_get(9), lpfc_cmf_sync_cmpl(9),
lpfc_issue_cmf_sync_wqe(9), lpfc_sli_next_iocb_slot(9),
lpfc_sli_next_iotag(9), lpfc_sli_submit_iocb(9),
lpfc_sli_update_full_ring(9), lpfc_sli_update_ring(9),
lpfc_sli_resume_iocb(9), lpfc_sli_next_hbq_slot(9),
lpfc_sli_hbq_to_firmware(9), lpfc_sli_hbq_to_firmware_s3(9),
lpfc_sli_hbq_to_firmware_s4(9), lpfc_sli_hbqbuf_fill_hbqs(9),
lpfc_sli_hbqbuf_add_hbqs(9), lpfc_sli_hbqbuf_init_hbqs(9),
lpfc_sli_rqbuf_get(9), lpfc_sli_hbqbuf_find(9),
lpfc_sli_free_hbq(9), lpfc_sli_chk_mbx_command(9),
lpfc_sli_wake_mbox_wait(9), lpfc_sli_def_mbox_cmpl(9),
lpfc_sli_handle_mb_event(9), lpfc_sli_get_buff(9),
lpfc_nvme_unsol_ls_handler(9), lpfc_complete_unsol_iocb(9),
lpfc_sli_process_unsol_iocb(9), lpfc_sli_iocbq_lookup(9),
lpfc_sli_iocbq_lookup_by_tag(9), lpfc_sli_process_sol_iocb(9),
lpfc_sli_rsp_pointers_error(9), lpfc_poll_eratt(9),
lpfc_sli_handle_fast_ring_event(9), lpfc_sli_sp_handle_rspiocb(9),
lpfc_sli_handle_slow_ring_event(9),
lpfc_sli_handle_slow_ring_event_s3(9),
lpfc_sli_handle_slow_ring_event_s4(9), lpfc_sli_abort_iocb_ring(9),
lpfc_sli_abort_fcp_rings(9), lpfc_sli_flush_io_rings(9),
lpfc_sli_brdready_s3(9), lpfc_sli_brdready_s4(9),
lpfc_sli_brdready(9), lpfc_reset_barrier(9), lpfc_sli_brdkill(9),
lpfc_sli_brdreset(9), lpfc_sli4_brdreset(9),
lpfc_sli_brdrestart_s3(9), lpfc_sli_brdrestart_s4(9),
lpfc_sli_brdrestart(9), lpfc_sli_chipset_init(9),
lpfc_sli_hbq_count(9), lpfc_sli_hbq_entry_count(9),
lpfc_sli_hbq_size(9), lpfc_sli_hbq_setup(9), lpfc_sli4_rb_setup(9),
lpfc_sli_config_port(9), lpfc_sli_hba_setup(9),
lpfc_sli4_read_fcoe_params(9), lpfc_sli4_read_rev(9),
lpfc_sli4_get_ctl_attr(9), lpfc_sli4_retrieve_pport_name(9),
lpfc_sli4_arm_cqeq_intr(9), lpfc_sli4_get_avail_extnt_rsrc(9),
lpfc_sli4_chk_avail_extnt_rsrc(9), lpfc_sli4_cfg_post_extnts(9),
lpfc_sli4_alloc_extent(9), lpfc_sli4_dealloc_extent(9),
lpfc_ras_stop_fwlog(9), lpfc_sli4_ras_dma_free(9),
lpfc_sli4_ras_dma_alloc(9), lpfc_sli4_ras_mbox_cmpl(9),
lpfc_sli4_ras_fwlog_init(9), lpfc_sli4_ras_setup(9),
lpfc_sli4_alloc_resource_identifiers(9),
lpfc_sli4_dealloc_resource_identifiers(9),
lpfc_sli4_get_allocated_extnts(9), lpfc_sli4_repost_sgl_list(9),
lpfc_sli4_repost_io_sgl_list(9), lpfc_init_idle_stat_hb(9),
lpfc_rx_monitor_create_ring(9), lpfc_rx_monitor_destroy_ring(9),
lpfc_rx_monitor_record(9), lpfc_rx_monitor_report(9),
lpfc_cmf_setup(9), lpfc_get_platform_uuid(9), lpfc_sli4_hba_setup(9),
lpfc_mbox_timeout(9), lpfc_sli4_mbox_completions_pending(9),
lpfc_sli4_process_missed_mbox_completions(9),
lpfc_mbox_timeout_handler(9), lpfc_sli_issue_mbox_s3(9),
lpfc_sli4_async_mbox_block(9), lpfc_sli4_async_mbox_unblock(9),
lpfc_sli4_wait_bmbx_ready(9), lpfc_sli4_post_sync_mbox(9),
lpfc_sli_issue_mbox_s4(9), lpfc_sli4_post_async_mbox(9),
lpfc_sli_issue_mbox(9), lpfc_mbox_api_table_setup(9),
__lpfc_sli_ringtx_put(9), lpfc_sli_next_iocb(9),
__lpfc_sli_issue_iocb_s3(9), __lpfc_sli_issue_fcp_io_s3(9),
__lpfc_sli_issue_fcp_io_s4(9), __lpfc_sli_issue_iocb_s4(9),
lpfc_sli_api_table_setup(9), lpfc_sli4_calc_ring(9),
lpfc_sli_issue_iocb(9), lpfc_extra_ring_setup(9),
lpfc_sli_async_event_handler(9), lpfc_sli4_setup(9),
lpfc_sli_setup(9), lpfc_sli4_queue_init(9), lpfc_sli_queue_init(9),
lpfc_sli_mbox_sys_flush(9), lpfc_sli_host_down(9),
lpfc_sli_hba_down(9), lpfc_sli_pcimem_bcopy(9),
lpfc_sli_bemem_bcopy(9), lpfc_sli_ringpostbuf_put(9),
lpfc_sli_get_buffer_tag(9), lpfc_sli_ring_taggedbuf_get(9),
lpfc_sli_ringpostbuf_get(9), lpfc_sli_abort_els_cmpl(9),
lpfc_ignore_els_cmpl(9), lpfc_sli_issue_abort_iotag(9),
lpfc_sli_hba_iocb_abort(9), lpfc_sli_validate_fcp_iocb_for_abort(9),
lpfc_sli_validate_fcp_iocb(9), lpfc_sli_sum_iocb(9),
lpfc_sli_abort_fcp_cmpl(9), lpfc_sli_abort_iocb(9),
lpfc_sli_abort_taskmgmt(9), lpfc_sli_wake_iocb_wait(9),
lpfc_chk_iocb_flg(9), lpfc_sli_issue_iocb_wait(9),
lpfc_sli_issue_mbox_wait(9), lpfc_sli_mbox_sys_shutdown(9),
lpfc_sli_eratt_read(9), lpfc_sli4_eratt_read(9),
lpfc_sli_check_eratt(9), lpfc_intr_state_check(9),
lpfc_sli_sp_intr_handler(9), lpfc_sli_fp_intr_handler(9),
lpfc_sli_intr_handler(9), lpfc_sli4_els_xri_abort_event_proc(9),
lpfc_sli4_els_preprocess_rspiocbq(9),
lpfc_sli4_sp_handle_async_event(9),
lpfc_sli4_sp_handle_mbox_event(9), lpfc_sli4_sp_handle_mcqe(9),
lpfc_sli4_sp_handle_els_wcqe(9), lpfc_sli4_sp_handle_rel_wcqe(9),
lpfc_sli4_sp_handle_abort_xri_wcqe(9), lpfc_sli4_sp_handle_rcqe(9),
lpfc_sli4_sp_handle_cqe(9), lpfc_sli4_sp_handle_eqe(9),
__lpfc_sli4_process_cq(9), __lpfc_sli4_sp_process_cq(9),
lpfc_sli4_sp_process_cq(9), lpfc_sli4_dly_sp_process_cq(9),
lpfc_sli4_fp_handle_fcp_wcqe(9), lpfc_sli4_fp_handle_rel_wcqe(9),
lpfc_sli4_nvmet_handle_rcqe(9), lpfc_sli4_fp_handle_cqe(9),
__lpfc_sli4_hba_process_cq(9), lpfc_sli4_hba_process_cq(9),
lpfc_sli4_hba_handle_eqe(9), lpfc_sli4_dly_hba_process_cq(9),
lpfc_sli4_hba_intr_handler(9), lpfc_sli4_intr_handler(9),
lpfc_sli4_queue_free(9), lpfc_sli4_queue_alloc(9),
lpfc_dual_chute_pci_bar_map(9), lpfc_modify_hba_eq_delay(9),
lpfc_eq_create(9), lpfc_sli4_hba_intr_handler_th(9),
lpfc_cq_create(9), lpfc_cq_create_set(9), lpfc_mq_create_fb_init(9),
lpfc_mq_create(9), lpfc_wq_create(9), lpfc_rq_create(9),
lpfc_mrq_create(9), lpfc_eq_destroy(9), lpfc_cq_destroy(9),
lpfc_mq_destroy(9), lpfc_wq_destroy(9), lpfc_rq_destroy(9),
lpfc_sli4_post_sgl(9), lpfc_sli4_alloc_xri(9),
__lpfc_sli4_free_xri(9), lpfc_sli4_free_xri(9),
lpfc_sli4_next_xritag(9), lpfc_sli4_post_sgl_list(9),
lpfc_sli4_post_io_sgl_block(9), lpfc_sli4_post_io_sgl_list(9),
lpfc_fc_frame_check(9), lpfc_fc_hdr_get_vfi(9),
lpfc_fc_frame_to_vport(9), lpfc_update_rcv_time_stamp(9),
lpfc_cleanup_rcv_buffers(9), lpfc_rcv_seq_check_edtov(9),
lpfc_fc_frame_add(9), lpfc_sli4_abort_partial_seq(9),
lpfc_sli4_abort_ulp_seq(9), lpfc_sli4_seq_abort_rsp_cmpl(9),
lpfc_sli4_xri_inrange(9), lpfc_sli4_seq_abort_rsp(9),
lpfc_sli4_handle_unsol_abort(9), lpfc_seq_complete(9),
lpfc_prep_seq(9), lpfc_sli4_handle_received_buffer(9),
lpfc_sli4_post_all_rpi_hdrs(9), lpfc_sli4_post_rpi_hdr(9),
lpfc_sli4_alloc_rpi(9), __lpfc_sli4_free_rpi(9),
lpfc_sli4_free_rpi(9), lpfc_sli4_remove_rpis(9),
lpfc_sli4_resume_rpi(9), lpfc_sli4_init_vpi(9),
lpfc_mbx_cmpl_add_fcf_record(9), lpfc_sli4_add_fcf_record(9),
lpfc_sli4_build_dflt_fcf_record(9),
lpfc_sli4_fcf_scan_read_fcf_rec(9),
lpfc_sli4_fcf_rr_read_fcf_rec(9), lpfc_sli4_read_fcf_rec(9),
lpfc_check_next_fcf_pri_level(9),
lpfc_sli4_fcf_rr_next_index_get(9), lpfc_sli4_fcf_rr_index_set(9),
lpfc_sli4_fcf_rr_index_clear(9),
lpfc_mbx_cmpl_redisc_fcf_table(9), lpfc_sli4_redisc_fcf_table(9),
lpfc_sli4_fcf_dead_failthrough(9), lpfc_sli_get_config_region23(9),
lpfc_sli4_get_config_region23(9), lpfc_sli_read_link_ste(9),
lpfc_log_fw_write_cmpl(9), lpfc_wr_object(9),
lpfc_cleanup_pending_mbox(9), lpfc_drain_txq(9),
lpfc_wqe_bpl2sgl(9), lpfc_sli4_issue_wqe(9),
lpfc_sli4_issue_abort_iotag(9), lpfc_snapshot_mxp(9),
lpfc_adjust_pvt_pool_count(9), lpfc_adjust_high_watermark(9),
lpfc_move_xri_pvt_to_pbl(9), _lpfc_move_xri_pbl_to_pvt(9),
lpfc_move_xri_pbl_to_pvt(9), lpfc_keep_pvt_pool_above_lowwm(9),
lpfc_release_io_buf(9), lpfc_get_io_buf_from_private_pool(9),
lpfc_get_io_buf_from_expedite_pool(9),
lpfc_get_io_buf_from_multixri_pools(9), lpfc_get_io_buf(9),
lpfc_read_object(9), lpfc_get_sgl_per_hdwq(9),
lpfc_put_sgl_per_hdwq(9), lpfc_free_sgl_per_hdwq(9),
lpfc_get_cmd_rsp_buf_per_hdwq(9),
lpfc_put_cmd_rsp_buf_per_hdwq(9),
lpfc_free_cmd_rsp_buf_per_hdwq(9), lpfc_sli_prep_wqe(9)
mwah π thatβs the page! source/version: ./drivers/scsi/lpfc Β· date: October 2026 Β· page: lpfc_sli_hbqbuf_free_all(9) β periodt. π«Άβ¨
π¦ 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