lpfc_stop_port(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ NAME πŸŽ€

lpfc_stop_port β€” the wrapper function that stops the hba port πŸ’…


✨ SYNOPSIS ✨

void lpfc_stop_port (struct lpfc_hba *phba );

🫢 ARGUMENTS 🫢

  • phba β€” pointer to the HBA context object. that's it, that's the whole vibe 🌸

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so bestie, this routine is a wrapper β€” literally that girl who handles the intro so you don't have to 😭

what it does is it wraps the actual SLI3 or SLI4 hba stop port routine, and it finds that routine through the API jump table function pointer sitting inside the lpfc_hba struct. so you call lpfc_stop_port, and the jump table picks whichever real stop-port routine applies. no cap, that's the entire job πŸ”₯

so yes β€” one entry point, and the SLI3-or-SLI4 decision is not your problem. iconic behaviour honestly πŸ‘‘


🌈 SEE ALSO 🌈

the kernel file ./drivers/scsi/lpfc/lpfc_init.c is where this whole friend group hangs out πŸ’– and here's the entire squad, every single one of them, presented verbatim because I would never do them dirty like that 🫢

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_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_sli4_driver_resource_unset(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)

πŸ’… quick reminder bestie: every one of those is a real page you can go read. go off, iykyk 🌟

and that's the whole page, mwah 😭🫢 this one comes from the source tree at ./drivers/scsi/lpfc, dated October 2026, and it is, of course, lpfc_stop_port(9) β€” slay πŸ’–βœ¨

πŸ“¦ where this page comes from