megasas_wait..._outstanding(9)
π megasas_wait_for_outstanding(9)
okay so bestie, this is a page from the Kernel API Manual and it's about one very specific little function that has one very specific job: waiting. patiently. for the firmware to finish literally everything. no cap.
β¨ NAME β¨
megasas_wait_for_outstanding β the "wait for all outstanding cmds" girlie πΈ
π¦ SYNOPSIS π¦
int megasas_wait_for_outstanding (struct megasas_instance *instance );
π ARGUMENTS π
instanceβ the adapter soft state, i.e. the main character of this whole saga π
π₯ DESCRIPTION π₯
so here's the vibe: this function sits there and waits for up to MEGASAS_RESET_WAIT_TIME seconds to give the FW a chance to complete all its outstanding commands. that's it. that's the whole job. she's just waiting, bestie π
and if, after that whole time period, one or more IOs are still pending? she returns an error. rude of them, honestly. π
oh and also β she marks the controller dead. like, full on. not me ending a whole controller's career ππ
fr fr: error return + controller marked dead = this is not a drill, something went wrong upstream of you
π SEE ALSO π
the kernel file that started it all: ./drivers/scsi/megaraid/megaraid_sas_base.c
and now, the extended universe. every single one of these cuties, periodt:
megasas_set_dma_settings(9)megasas_get_cmd(9)megasas_return_cmd(9)megasas_decode_evt(9)megasas_enable_intr_xscale(9)megasas_disable_intr_xscale(9)megasas_read_fw_status_reg_xscale(9)megasas_clear_intr_xscale(9)megasas_fire_cmd_xscale(9)megasas_adp_reset_xscale(9)megasas_check_reset_xscale(9)megasas_enable_intr_ppc(9)megasas_disable_intr_ppc(9)megasas_read_fw_status_reg_ppc(9)megasas_clear_intr_ppc(9)megasas_fire_cmd_ppc(9)megasas_check_reset_ppc(9)megasas_enable_intr_skinny(9)megasas_disable_intr_skinny(9)megasas_read_fw_status_reg_skinny(9)megasas_clear_intr_skinny(9)megasas_fire_cmd_skinny(9)megasas_check_reset_skinny(9)megasas_enable_intr_gen2(9)megasas_disable_intr_gen2(9)megasas_read_fw_status_reg_gen2(9)megasas_clear_intr_gen2(9)megasas_fire_cmd_gen2(9)megasas_adp_reset_gen2(9)megasas_check_reset_gen2(9)megasas_issue_polled(9)megasas_issue_blocked_cmd(9)megasas_issue_blocked_abort_cmd(9)megasas_make_sgl32(9)megasas_make_sgl64(9)megasas_make_sgl_skinny(9)megasas_build_dcdb(9)megasas_build_ldio(9)megasas_cmd_type(9)megasas_queue_command(9)megasas_complete_cmd_dpc(9)megasas_start_timer(9)megasas_generic_reset(9)megasas_reset_timer(9)megasas_dump(9)megasas_dump_reg_set(9)megasas_dump_fusion_io(9)megasas_reset_bus_host(9)megasas_task_abort(9)megasas_reset_target(9)megasas_bios_param(9)megasas_service_aen(9)megasas_complete_int_cmd(9)megasas_complete_abort(9)megasas_complete_cmd(9)megasas_issue_pending_cmds_again(9)megasas_deplete_reply_queue(9)megasas_isr(9)megasas_transition_to_ready(9)megasas_teardown_frame_pool(9)megasas_create_frame_pool(9)megasas_free_cmds(9)megasas_alloc_cmds(9)megasas_ld_list_query(9)megasas_host_device_list_query(9)megasas_get_ctrl_info(9)megasas_issue_init_mfi(9)megasas_setup_irqs_msix(9)megasas_setup_jbod_map(9)megasas_get_device_list(9)megasas_set_high_iops_queue_affinity_and_hint(9)megasas_alloc_irq_vectors(9)megasas_init_fw(9)megasas_release_mfi(9)megasas_get_seq_num(9)megasas_register_aen(9)megasas_start_aen(9)megasas_io_attach(9)megasas_set_dma_mask(9)megasas_alloc_ctrl_mem(9)megasas_alloc_ctrl_dma_buffers(9)megasas_probe_one(9)megasas_flush_cache(9)megasas_shutdown_controller(9)megasas_suspend(9)megasas_resume(9)megasas_detach_one(9)megasas_shutdown(9)megasas_mgmt_fw_ioctl(9)megasas_mgmt_ioctl(9)megasas_update_device_list(9)megasas_add_remove_devices(9)megasas_init(9)megasas_exit(9)
okay that's the whole page, you ate that bestie π«Ά this one lives under ./drivers/scsi/megaraid and it's dated October 2026 β go forth and wait for your outstanding cmds responsibly β¨π
π¦ 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