mpt3sas_ctl_done(9)
π mpt3sas_ctl_done β the ctl module completion routine bestie β¨
okay so real quick, before we get into it: this one's a kernel API manual page, page name mpt3sas_ctl_done, and it lives in the kernel docs. it's short, it's sweet, and it's the little callback that could π«Ά
β¨ NAME β¨
mpt3sas_ctl_done β literally the ctl module completion routine. that's her job. that's what she does π
π¦ SYNOPSIS π¦
u8 mpt3sas_ctl_done (struct MPT3SAS_ADAPTER *ioc , u16 smid , u8
msix_index , u32 reply );
yes she returns a u8, yes she takes four args, no we're not scared of her π
π ARGUMENTS π
iocβ the per adapter object. your whole adapter's whole personality lives here πΈsmidβ system request message index. it's the little name tag for the message, iykyk πmsix_indexβ the MSIX table index supplied by the OS. the OS handed it over, we just hold it π«Άreplyβ reply message frame (lower 32bit addr). lowercasebit, exact spelling, don't come for me π
π CONTEXT π
none. that's it. that's the whole section. no context, no vibes to check, nothing π§
π₯ DESCRIPTION π₯
so the actual tea: this is the callback handler when using ioc->ctl_cb_idx. that's the entire description and honestly she ate π
β¨
π RETURN π
1β meaning the mf should be freed from_base_interruptπ0β means the mf is freed from this function π
no cap, those are the only two options, and yes the wording is exactly like that, I'm not editing it, it's iconic.
π SEE ALSO π
okay bestie this is the long part, grab a snack π β Kernel file ./drivers/scsi/mpt3sas/mpt3sas_ctl.c plus this entire friend group:
enum block_state(9)_ctl_display_some_debug(9)_ctl_check_event_type(9)mpt3sas_ctl_add_to_event_log(9)mpt3sas_ctl_event_callback(9)_ctl_verify_adapter(9)mpt3sas_ctl_pre_reset_handler(9)mpt3sas_ctl_clear_outstanding_ioctls(9)mpt3sas_ctl_reset_done_handler(9)_ctl_fasync(9)_ctl_poll(9)_ctl_set_task_mid(9)_ctl_send_mctp_passthru_req(9)_ctl_do_mpt_command(9)_ctl_getiocinfo(9)_ctl_eventquery(9)_ctl_eventenable(9)_ctl_eventreport(9)_ctl_do_reset(9)_ctl_btdh_search_sas_device(9)_ctl_btdh_search_pcie_device(9)_ctl_btdh_search_raid_device(9)_ctl_btdh_mapping(9)_ctl_diag_capability(9)_ctl_diag_get_bufftype(9)_ctl_diag_register_2(9)mpt3sas_enable_diag_buffer(9)_ctl_diag_register(9)_ctl_diag_unregister(9)_ctl_diag_query(9)mpt3sas_send_diag_release(9)_ctl_diag_release(9)_ctl_diag_read_buffer(9)_ctl_addnl_diag_query(9)_ctl_enable_diag_sbr_reload(9)_ctl_compat_mpt_command(9)_ctl_ioctl_main(9)_ctl_get_mpt_mctp_passthru_adapter(9)mpt3sas_get_device_count(9)_ctl_ioctl(9)_ctl_mpt2_ioctl(9)_ctl_ioctl_compat(9)_ctl_mpt2_ioctl_compat(9)version_fw_show(9)version_bios_show(9)version_mpi_show(9)version_product_show(9)version_nvdata_persistent_show(9)version_nvdata_default_show(9)board_name_show(9)board_assembly_show(9)board_tracer_show(9)io_delay_show(9)device_delay_show(9)fw_queue_depth_show(9)host_sas_address_show(9)logging_level_show(9)fwfault_debug_show(9)ioc_reset_count_show(9)reply_queue_count_show(9)BRM_status_show(9)host_trace_buffer_size_show(9)host_trace_buffer_show(9)host_trace_buffer_enable_show(9)diag_trigger_master_show(9)diag_trigger_master_store(9)diag_trigger_event_show(9)diag_trigger_event_store(9)diag_trigger_scsi_show(9)diag_trigger_scsi_store(9)diag_trigger_mpi_show(9)diag_trigger_mpi_store(9)drv_support_bitmap_show(9)enable_sdev_max_qd_show(9)enable_sdev_max_qd_store(9)sas_address_show(9)sas_device_handle_show(9)sas_ncq_prio_supported_show(9)sas_ncq_prio_enable_show(9)mpt3sas_ctl_init(9)mpt3sas_ctl_release(9)mpt3sas_ctl_exit(9)
like I said. whole friend group. every single one of them, no skips, periodt π
lowkey reminder:<rainbow>this page is from./drivers/scsi/mpt3sas, dated **October 2026**</rainbow>β that's the source dir and the date, right there at the bottom of the original, now living rent-free in this sign-off πβ¨ go be a completion routine about it, bestie π
π¦ 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