qla4xxx_pre..._port_reinit(9)
π qla4xxx_prevent_other_port_reinit(9) π
okay so this is a page straight out of the Kernel API Manual, and tbh it's a short one β but it's a cutie and it matters, so bestie, let's get into it π«Ά
β¨ NAME β¨
qla4xxx_prevent_other_port_reinit β prevent other port from re-initialize πΈ
like, the whole job is literally in the name, no cap.
π SYNOPSIS π
void qla4xxx_prevent_other_port_reinit (struct scsi_qla_host *ha );
it returns void (so, nothing back, she's a doer not a talker π
) and takes exactly one thing.
π¦ ARGUMENTS π¦
haβ pointer to adapter structure β¨ (the adapter in question, she's the main character here)
π₯ DESCRIPTION π₯
okay so picture this: the driver is getting removed from one ISP-4xxx port, right? This function goes and marks the other ISP-4xxx port so that port knows the driver is being removed. That's it, that's the whole vibe check β
the point is that the other port will not re-initialize while the ha is still in the process of being removed β whether that removal is happening because of a driver unload or an hba hotplug π
it's giving "hey bestie, don't try to come back right now, we're literally in the middle of packing up" π and honestly? iconic. someone had to say it.
ngl this is one of those tiny helper functions that eats π if you skip it, the other port gets all eager and tries to re-init mid-teardown. do not skip it.
π SEE ALSO π
kernel file ./drivers/scsi/qla4xxx/ql4_os.c β that's where she lives, go say hi π
and the whole extended friend group, alphabetically-ish, all of them, no one left out (i would never):
qla4xxx_create_chap_list(9)qla4xxx_find_free_chap_index(9)qla4xxx_set_chap_entry(9)qla4xxx_mark_all_devices_missing(9)qla4xxx_queuecommand(9)qla4xxx_mem_free(9)qla4xxx_mem_alloc(9)qla4_8xxx_check_temp(9)qla4_8xxx_check_fw_alive(9)qla4_8xxx_watchdog(9)qla4xxx_timer(9)qla4xxx_cmd_wait(9)qla4xxx_soft_reset(9)qla4xxx_abort_active_cmds(9)qla4xxx_recover_adapter(9)qla4xxx_do_dpc(9)qla4xxx_free_adapter(9)qla4xxx_get_bidi_chap(9)qla4xxx_check_existing_isid(9)qla4xxx_update_isid(9)qla4xxx_should_update_isid(9)qla4xxx_is_flash_ddb_exists(9)qla4xxx_remove_failed_ddb(9)qla4xxx_sysfs_ddb_is_non_persistent(9)qla4xxx_sysfs_ddb_tgt_create(9)qla4xxx_sysfs_ddb_add(9)qla4xxx_sysfs_ddb_apply(9)qla4xxx_sysfs_ddb_login(9)qla4xxx_sysfs_ddb_logout_sid(9)qla4xxx_sysfs_ddb_logout(9)qla4xxx_sysfs_ddb_set_param(9)qla4xxx_sysfs_ddb_delete(9)qla4xxx_sysfs_ddb_export(9)qla4xxx_build_ddb_list(9)qla4xxx_wait_login_resp_boot_tgt(9)qla4xxx_probe_adapter(9)qla4xxx_remove_adapter(9)qla4xxx_config_dma_addressing(9)qla4xxx_del_from_active_array(9)qla4xxx_eh_wait_on_command(9)qla4xxx_wait_for_hba_online(9)qla4xxx_eh_wait_for_commands(9)qla4xxx_eh_abort(9)qla4xxx_eh_device_reset(9)qla4xxx_eh_target_reset(9)qla4xxx_is_eh_active(9)qla4xxx_eh_host_reset(9)qla4xxx_pci_mmio_enabled(9)
that's the whole roster, fr fr π«Ά
β sign-off β
so that's the page π it came from the Kernel API Manual, lives under ./drivers/scsi/qla4xxx, and it's dated October 2026 β so yeah, she's got a little time-travel moment going on, we love that for her π¦
go mark that other port and slay, bestie. periodt. π β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms