lpfc_hba_down_post_s4(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… lpfc_hba_down_post_s4(9) β€” Kernel API Manual ✨

okay so bestie, we're in the kernel API manual today and the star of the show is lpfc_hba_down_post_s4(9). it lives in ./drivers/scsi/lpfc and honestly? she's giving cleanup crew main character energy πŸ§ΉπŸ’–


🌸 NAME 🌸

lpfc_hba_down_post_s4 β€” bestie this one does the lpfc uninitialization after HBA reset. that's the whole vibe. no cap πŸ’…


✨ SYNOPSIS ✨

int lpfc_hba_down_post_s4 (struct lpfc_hba *phba );

πŸŽ€ ARGUMENTS πŸŽ€

  • phba β€” pointer to the lpfc HBA data structure. that's it, that's the whole argument list, she keeps it simple 🫢

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so picture this: the HBA just got reset, the SLI Layer is being brought down, and somebody has to do the uninitialization afterwards. that somebody is this routine. she shows up after the reset, does the tidying, and dips ✨

return codes, very important, do not skip:

  • 0 β€” success πŸŽ‰
  • any other value β€” error 😭
fr fr, anything that isn't 0 means something went sideways. iykyk.

🌈 SEE ALSO 🌈

bestie. buckle up. this list is long and every single one of these is iconic in her own right πŸ‘‘

lpfc_config_port_prep(9), lpfc_config_async_cmpl(9), lpfc_dump_wakeup_param_cmpl(9), lpfc_update_vport_wwn(9), lpfc_config_port_post(9), lpfc_sli4_refresh_params(9), lpfc_hba_init_link(9), lpfc_hba_init_link_fc_topology(9), lpfc_hba_down_link(9), lpfc_hba_down_prep(9), lpfc_sli4_free_sp_events(9), lpfc_hba_free_post_buf(9), lpfc_hba_clean_txcmplq(9), lpfc_hba_down_post_s3(9), lpfc_hba_down_post(9), lpfc_hb_timeout(9), lpfc_rrq_timeout(9), lpfc_hb_mbox_cmpl(9), lpfc_hb_mxp_handler(9), lpfc_issue_hb_mbox(9), lpfc_issue_hb_tmo(9), lpfc_hb_timeout_handler(9)

and then the error-attention girlies πŸ’€

lpfc_offline_eratt(9), lpfc_sli4_offline_eratt(9), lpfc_handle_deferred_eratt(9), lpfc_handle_eratt_s3(9), lpfc_sli4_port_sta_fn_reset(9), lpfc_handle_eratt_s4(9), lpfc_handle_eratt(9), lpfc_handle_latt(9), lpfc_parse_vpd(9), lpfc_get_atto_model_desc(9), lpfc_get_hba_model_desc(9), lpfc_sli3_post_buffer(9), lpfc_post_rcv_buf(9)

a little crypto moment, we love to see it πŸ”

lpfc_sha_init(9), lpfc_sha_iterate(9), lpfc_challenge_key(9)

init / cleanup / timers squad, they never miss ⏰

lpfc_hba_init(9), lpfc_cleanup(9), lpfc_stop_vport_timers(9), __lpfc_sli4_stop_fcf_redisc_wait_timer(9), lpfc_sli4_stop_fcf_redisc_wait_timer(9), lpfc_cmf_stop(9), lpfc_cmf_start(9), lpfc_stop_hba_timers(9), lpfc_block_mgmt_io(9), lpfc_sli4_node_rpi_restore(9)

pool party, literally 🏊

lpfc_create_expedite_pool(9), lpfc_destroy_expedite_pool(9), lpfc_create_multixri_pools(9), lpfc_destroy_multixri_pools(9)

online / offline / free-things energy πŸ¦‹

lpfc_online(9), lpfc_unblock_mgmt_io(9), lpfc_offline_prep(9), lpfc_offline(9), lpfc_scsi_free(9), lpfc_io_free(9), lpfc_sli4_els_sgl_update(9), lpfc_sli4_nvmet_sgl_update(9), lpfc_sli4_io_sgl_update(9), lpfc_new_io_buf(9), lpfc_vmid_res_alloc(9), lpfc_create_port(9), destroy_port(9), lpfc_get_instance(9), lpfc_scan_finished(9), lpfc_host_attrib_init(9), lpfc_stop_port_s3(9), lpfc_stop_port_s4(9), lpfc_stop_port(9)

FCF rediscovery watchers, the way they keep waiting 😭

lpfc_fcf_redisc_wait_start_timer(9), lpfc_sli4_fcf_redisc_wait_tmo(9), lpfc_vmid_poll(9)

LATT + port speed girlies πŸ“Ά

lpfc_sli4_parse_latt_fault(9), lpfc_sli4_parse_latt_type(9), lpfc_sli_port_speed_get(9), lpfc_sli4_port_speed_parse(9), lpfc_sli4_async_link_evt(9), lpfc_async_link_speed_to_read_top(9)

congestion management crew 🌸

lpfc_cgn_update_stat(9), lpfc_cgn_update_tstamp(9), lpfc_cmf_stats_timer(9), lpfc_calc_cmf_latency(9), lpfc_cmf_timer(9)

async event everything, she does it all ✨

lpfc_sli4_async_fc_evt(9), lpfc_sli4_async_sli_evt(9), lpfc_sli4_perform_vport_cvl(9), lpfc_sli4_perform_all_vport_cvl(9), lpfc_sli4_async_fip_evt(9), lpfc_sli4_async_dcbx_evt(9), lpfc_sli4_async_grp5_evt(9), lpfc_sli4_async_cmstat_evt(9)

cgn params, read 'em and weep πŸ“–

lpfc_cgn_params_val(9), lpfc_cgn_params_parse(9), lpfc_sli4_cgn_params_read(9), lpfc_sli4_cgn_parm_chg_evt(9)

event processing + api table setup πŸ”₯

lpfc_sli4_async_event_proc(9), lpfc_sli4_fcf_redisc_event_proc(9), lpfc_api_table_setup(9), lpfc_log_intr_mode(9), lpfc_enable_pci_dev(9), lpfc_disable_pci_dev(9), lpfc_reset_hba(9)

SR-IOV vibes 🧚

lpfc_sli_sriov_nr_virtfn_get(9), lpfc_sli_probe_sriov_nr_virtfn(9)

driver resource setup + unset, phase one AND two, she's thorough πŸŽ€

lpfc_setup_driver_resource_phase1(9), lpfc_sli_driver_resource_setup(9), lpfc_sli_driver_resource_unset(9), lpfc_sli4_driver_resource_setup(9), lpfc_sli4_driver_resource_unset(9), lpfc_init_api_table_setup(9), lpfc_setup_driver_resource_phase2(9), lpfc_unset_driver_resource_phase2(9)

iocb + sgl list management, the unglamorous but essential πŸ’…

lpfc_free_iocb_list(9), lpfc_init_iocb_list(9), lpfc_free_sgl_list(9), lpfc_free_els_sgl_list(9), lpfc_free_nvmet_sgl_list(9), lpfc_init_active_sgl_array(9), lpfc_free_active_sgl(9), lpfc_init_sgl_list(9), lpfc_sli4_init_rpi_hdrs(9), lpfc_sli4_create_rpi_hdr(9), lpfc_sli4_remove_rpi_hdrs(9)

hba alloc/free + shost stuff 🫢

lpfc_hba_alloc(9), lpfc_hba_free(9), lpfc_setup_fdmi_mask(9), lpfc_create_shost(9), lpfc_destroy_shost(9), lpfc_setup_bg(9), lpfc_post_init_setup(9)

pci mem setup, bars 0/1/2, all of it ⭐

lpfc_sli_pci_mem_setup(9), lpfc_sli_pci_mem_unset(9), lpfc_sli4_post_status_check(9), lpfc_sli4_bar0_register_memmap(9), lpfc_sli4_bar1_register_memmap(9), lpfc_sli4_bar2_register_memmap(9), lpfc_create_bootstrap_mbox(9), lpfc_destroy_bootstrap_mbox(9), lpfc_map_topology(9), lpfc_sli4_read_config(9), lpfc_setup_endian_order(9)

queues, queues, and more queues 🌊

lpfc_sli4_queue_verify(9), lpfc_sli4_queue_create(9), lpfc_sli4_queue_destroy(9), lpfc_setup_cq_lookup(9), lpfc_sli4_queue_setup(9), lpfc_sli4_queue_unset(9)

cq event pool, alloc/release, the whole saga 😭

lpfc_sli4_cq_event_pool_create(9), lpfc_sli4_cq_event_pool_destroy(9), __lpfc_sli4_cq_event_alloc(9), lpfc_sli4_cq_event_alloc(9), __lpfc_sli4_cq_event_release(9), lpfc_sli4_cq_event_release(9), lpfc_sli4_cq_event_release_all(9), lpfc_pci_function_reset(9), lpfc_sli4_pci_mem_setup(9), lpfc_sli4_pci_mem_unset(9)

interrupt enable/disable crew ⚑

lpfc_sli_enable_msix(9), lpfc_sli_enable_msi(9), lpfc_sli_enable_intr(9), lpfc_sli_disable_intr(9)

cpu affinity besties, they're obsessed with your cores πŸ’–

lpfc_find_cpu_handle(9), lpfc_find_hyper(9), lpfc_cpu_map_array_init(9), lpfc_hba_eq_hdl_array_init(9), lpfc_cpu_affinity_check(9), lpfc_cpuhp_get_eq(9), lpfc_irq_set_aff(9), lpfc_irq_clear_aff(9), lpfc_irq_rebalance(9)

sli4 intr + hba unset πŸŽ€

lpfc_sli4_enable_msix(9), lpfc_sli4_enable_msi(9), lpfc_sli4_enable_intr(9), lpfc_sli4_disable_intr(9), lpfc_unset_hba(9), lpfc_sli4_xri_exchange_busy_wait(9), lpfc_sli4_hba_unset(9), __lpfc_reg_congestion_buf(9), lpfc_get_sli4_parameters(9)

pci probe/remove/suspend/resume, s3 edition πŸ›Œ

lpfc_pci_probe_one_s3(9), lpfc_pci_remove_one_s3(9), lpfc_pci_suspend_one_s3(9), lpfc_pci_resume_one_s3(9)

prep-dev-for-things, the dramatic trilogy πŸ’€

lpfc_sli_prep_dev_for_recover(9), lpfc_sli_prep_dev_for_reset(9), lpfc_sli_prep_dev_for_perm_failure(9), lpfc_io_error_detected_s3(9), lpfc_io_slot_reset_s3(9), lpfc_io_resume_s3(9)

iocb counting + firmware, she's got receipts πŸ“

lpfc_sli4_get_els_iocb_cnt(9), lpfc_sli4_get_iocb_cnt(9), lpfc_write_firmware(9), lpfc_sli4_request_firmware_update(9)

pci probe/remove/suspend/resume, s4 edition (our girl's home turf) πŸ‘‘

lpfc_pci_probe_one_s4(9), lpfc_pci_remove_one_s4(9), lpfc_pci_suspend_one_s4(9), lpfc_pci_resume_one_s4(9)

more prep-dev drama, but make it s4 πŸ”₯

lpfc_sli4_prep_dev_for_recover(9), lpfc_sli4_prep_dev_for_reset(9), lpfc_sli4_prep_dev_for_perm_failure(9), lpfc_io_error_detected_s4(9), lpfc_io_slot_reset_s4(9), lpfc_io_resume_s4(9)

the generic versions, no version suffix, no notes 🌸

lpfc_pci_probe_one(9), lpfc_pci_remove_one(9), lpfc_pci_suspend_one(9), lpfc_pci_resume_one(9), lpfc_io_error_detected(9), lpfc_io_slot_reset(9), lpfc_io_resume(9)

and the final icons of the list, saving the most iconic for last 🎬

lpfc_sli4_oas_verify(9), lpfc_sli4_ras_init(9), lpfc_init(9), lpfc_exit(9)


and that's the whole page bestie, you ate that 🫢✨

okay final sign-off: this page comes from ./drivers/scsi/lpfc, dated October 2026, and it's part of the Kernel API Manual. bye ily πŸ’œπŸ¦‹πŸŽ€

πŸ“¦ where this page comes from