lpfc_sli_abort_fcp_rings(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… lpfc_sli_abort_fcp_rings β€” from the Kernel API Manual, section 9

okay so bestie, welcome to the lpfc_sli_abort_fcp_rings(9) page πŸ’– this is a kernel API manual page and honestly it's giving "short but mighty". let's get into it.


✨ NAME ✨

lpfc_sli_abort_fcp_rings β€” abort all iocbs in all FCP rings πŸŒ€


πŸ¦‹ SYNOPSIS πŸ¦‹

void lpfc_sli_abort_fcp_rings (struct lpfc_hba *phba );

like... that's it. that's the whole signature. no cap.


πŸŽ€ ARGUMENTS πŸŽ€

  • phba β€” a pointer to the HBA context object 🫢 that's the one and only thing you hand it.

🌸 DESCRIPTION 🌸

so here's the vibe: this function aborts all the iocbs in the FCP rings, and it frees all the iocb objects in txq. 🧹✨

it does that by issuing an abort iocb for all the iocb commands sitting in txcmplq. πŸ”₯

real talk though β€” the iocbs in the txcmplq are not guaranteed to complete before this function returns. so don't go assuming they're done just because you got your function back, bestie 😭

and the good news πŸŽ€: the caller is not required to hold any locks. no lock stress, no drama, we love a low-maintenance function.


πŸ‘‘ SEE ALSO πŸ‘‘

the kernel file ./drivers/scsi/lpfc/lpfc_sli.c, and like... a lot of friends. good news: we got the whole group chat here, everybody's invited πŸ’€πŸ’…

  • 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_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)
yeah that's a lot of cross-references. i listed every single one though πŸ’€ that's the whole squad and i'm not dropping anybody, iykyk ✨

and that's the page, bestie πŸŽ€ it lives over in ./drivers/scsi/lpfc, straight out of October 2026 β€” mwah, go abort some iocbs responsibly πŸ’œπŸ«ΆπŸŒΈ

πŸ“¦ where this page comes from