lpfc_offline(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– lpfc_offline(9) πŸ’–

okay so bestie, this is from the Kernel API Manual and it’s lowkey iconic: lpfc_offline is the routine that brings a HBA offline. not me being obsessed with a clean shutdown, but here we are πŸ’…

✨ NAME ✨

lpfc_offline - Bring a HBA offline 🫢

🌸 SYNOPSIS 🌸

void lpfc_offline (struct lpfc_hba *phba );

πŸŽ€ ARGUMENTS πŸŽ€

  • phba β€” pointer to lpfc hba data structure. that’s the whole argument, bestie β€” it points at the lpfc hba data and we move on πŸ’–

πŸ¦‹ DESCRIPTION πŸ¦‹

This routine actually brings a HBA offline. fr fr. It stops all the timers associated with the HBA, brings down the SLI layer, and eventually marks the HBA as in offline state for the upper layer protocol. the way this routine just... handles it? iconic. πŸ’…

πŸ‘€ SEE ALSO πŸ‘€

The kernel file ./drivers/scsi/lpfc/lpfc_init.c is in the group chat, and here’s the whole section-9 squad β€” every single reference, no cap:

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_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_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)
okay that’s the whole lore, bestie. signed off from ./drivers/scsi/lpfc, October 2026, for lpfc_offline(9) β€” mwah πŸ’‹βœ¨
πŸ“¦ where this page comes from