lpfc_sli4_d...source_unset(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… lpfc_sli4_driver_resource_unset(9) ✨

okay so bestie, you're in the Kernel API Manual and today's main character is lpfc_sli4_driver_resource_unset(9) β€” the lil cleanup function that lives in ./drivers/scsi/lpfc and basically says "we're done here, pack it up πŸŽ€". no cap, it's the un-setup twin of the setup crew. iykyk.


🌸 NAME 🌸

lpfc_sli4_driver_resource_unset β€” unset drvr internal resources for SLI4 dev πŸ’–

like, literally the teardown routine for the driver's own internal resources on an SLI4 device. it's giving "checkout time at the hotel" energy.


✨ SYNOPSIS ✨

void lpfc_sli4_driver_resource_unset (struct lpfc_hba *phba );

she takes one arg, she returns nothing, she's void and unbothered πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • phba β€” pointer to lpfc hba data structure. that's the hba struct, the whole vibe of the adapter, she needs the pointer to it 🫢

πŸ‘‘ DESCRIPTION πŸ‘‘

okay so here's the tea: this routine is invoked to unset the driver internal resources set up specific for supporting the SLI-4 HBA device it attached to.

fr fr β€” everything that got set up just for that SLI-4 HBA goes bye-bye here. it's the undo button, the reverse card, the "not me forgetting to clean up" moment πŸ’€βœ¨


🧚 SEE ALSO 🧚

the kernel file ./drivers/scsi/lpfc/lpfc_init.c and honestly the entire extended friend group πŸ’œ β€” every single one of these, in the exact order the manual gives them, no gatekeeping:

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_s4(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),
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),
lpfc_sha_init(9),
lpfc_sha_iterate(9),
lpfc_challenge_key(9),
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),
lpfc_create_expedite_pool(9),
lpfc_destroy_expedite_pool(9),
lpfc_create_multixri_pools(9),
lpfc_destroy_multixri_pools(9),
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),
lpfc_fcf_redisc_wait_start_timer(9),
lpfc_sli4_fcf_redisc_wait_tmo(9),
lpfc_vmid_poll(9),
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),
lpfc_cgn_update_stat(9),
lpfc_cgn_update_tstamp(9),
lpfc_cmf_stats_timer(9),
lpfc_calc_cmf_latency(9),
lpfc_cmf_timer(9),
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),
lpfc_cgn_params_val(9),
lpfc_cgn_params_parse(9),
lpfc_sli4_cgn_params_read(9),
lpfc_sli4_cgn_parm_chg_evt(9),
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),
lpfc_sli_sriov_nr_virtfn_get(9),
lpfc_sli_probe_sriov_nr_virtfn(9),
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_init_api_table_setup(9),
lpfc_setup_driver_resource_phase2(9),
lpfc_unset_driver_resource_phase2(9),
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),
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),
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),
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),
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),
lpfc_sli_enable_msix(9),
lpfc_sli_enable_msi(9),
lpfc_sli_enable_intr(9),
lpfc_sli_disable_intr(9),
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),
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),
lpfc_pci_probe_one_s3(9),
lpfc_pci_remove_one_s3(9),
lpfc_pci_suspend_one_s3(9),
lpfc_pci_resume_one_s3(9),
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),
lpfc_sli4_get_els_iocb_cnt(9),
lpfc_sli4_get_iocb_cnt(9),
lpfc_write_firmware(9),
lpfc_sli4_request_firmware_update(9),
lpfc_pci_probe_one_s4(9),
lpfc_pci_remove_one_s4(9),
lpfc_pci_suspend_one_s4(9),
lpfc_pci_resume_one_s4(9),
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),
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),
lpfc_sli4_oas_verify(9),
lpfc_sli4_ras_init(9),
lpfc_init(9),
lpfc_exit(9)

look at that roster 😭 iconic behavior, every last one of them.


🫢 reminder: this is the unset side of the SLI-4 driver resource story. if you're looking for the setup half, she's right there in the list above, bestie. go read both, periodt.

and that's the whole page, bestie πŸ’– no notes, she ate.

sign-off szn: this lil masterpiece comes from the source path ./drivers/scsi/lpfc, dated October 2026, and it's filed under the Kernel API Manual πŸŽ€πŸ’…βœ¨

πŸ“¦ where this page comes from