lpfc_cq_destroy(9)
β¨ NAME β¨
lpfc_cq_destroy β destroy a Completion Queue on the HBA π
so this is the function from the Kernel API Manual, bestie, and it's literally just here to yeet a completion queue off the HBA. iconic behaviour, no notes.
πΈ SYNOPSIS πΈ
int lpfc_cq_destroy (struct lpfc_hba *phba , struct lpfc_queue *cq );
π ARGUMENTS π
phbaβ the HBA structure that tells you which port we're destroying a queue on π«Ά so like, which one of the ports. that's the whole vibe.cqβ the queue structure that goes with the queue you're about to destroy. it's the queue's ~associated structure~, iykyk.
π¦ DESCRIPTION π¦
okay so what this does: it destroys a queue β the one detailed in cq β by sending a mailbox command off to the HBA, and that mailbox command is specific to the type of queue. so the queue type decides which command goes out. periodt. π
and the cq struct? that's how it gets the queue ID of the queue it needs to destroy. the struct is doing the heavy lifting of telling the function which queue we're talking about. main character energy fr fr π₯
on success this function returns a zero. π but if the queue destroy mailbox command fails, it returns -ENXIO π so if you see that, the mailbox command did not slay.
π SEE ALSO π
bestie. sit down. this list is long and honestly? it ate. everything below is straight up related reading, starting with the kernel file ./drivers/scsi/lpfc/lpfc_sli.c π§
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_hbqbuf_free_all(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_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)
no cap, that's the whole squad π«Ά
ok that's the entire page, you're all caught up bestie π
this little love letter lives in ./drivers/scsi/lpfc, dated October 2026, and it's filed under lpfc_cq_destroy(9) π go destroy some queues responsibly, mwah πβ¨
π¦ 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