mpi3mr_post_cfg_req(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ NAME πŸŽ€

mpi3mr_post_cfg_req β€” issue config requests and wait, bestie πŸ’…

Welcome to the Kernel API Manual, this is the page for mpi3mr_post_cfg_req(9), and yes we're gonna get through the whole thing together 🫢


✨ SYNOPSIS ✨

int mpi3mr_post_cfg_req (struct mpi3mr_ioc *mrioc , struct
mpi3_config_request *cfg_req , int timeout , u16 *ioc_status );

okay so that's the whole signature, literally copy it exactly, don't be weird about the spacing, it's fine 🌸


πŸ¦‹ ARGUMENTS πŸ¦‹

  • mrioc β€” the adapter instance reference, aka your controller's whole personality πŸŽ€
  • cfg_req β€” the configuration request itself, the actual thing you're posting
  • timeout β€” timeout, in seconds ⏰ (yes seconds, not jiffies, not vibes)
  • ioc_status β€” a pointer used to return the ioc status back atcha πŸ’–

πŸ’œ DESCRIPTION πŸ’œ

So this is the generic function for posting an MPI3 configuration request to the firmware. Nothing spicy, it's the standard little courier 🧚

It blocks for the completion of the request for timeout seconds. Like, it will sit there and wait. Patient queen energy πŸ‘‘

⚠️ and if the request times out, this function faults the controller with the proper reason code. Not a drill, not a cute little retry β€” it faults the controller. iykyk πŸ’€

On successful completion of the request, this function returns the appropriate ioc status from the firmware back to the caller. The firmware says a thing, you get told the thing πŸ”₯


⭐ RETURN ⭐

  • 0 on success πŸŽ‰
  • non-zero on failure 😭

That's it. Zero is the good one, periodt.


πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./drivers/scsi/mpi3mr/mpi3mr_fw.c β€” and honestly the whole friend group is here:

mpi3mr_get_reply_desc(9), mpi3mr_process_op_reply_q(9), mpi3mr_blk_mq_poll(9), mpi3mr_isr_poll(9), mpi3mr_request_irq(9), mpi3mr_setup_isr(9), mpi3mr_reset_rc_name(9), mpi3mr_reset_type_name(9), mpi3mr_is_fault_recoverable(9), mpi3mr_print_fault_info(9), mpi3mr_save_fault_info(9), mpi3mr_get_iocstate(9), mpi3mr_free_ioctl_dma_memory(9), mpi3mr_alloc_ioctl_dma_memory(9), mpi3mr_fault_uevent_emit(9), mpi3mr_clear_reset_history(9), mpi3mr_issue_and_process_mur(9), mpi3mr_revalidate_factsdata(9), mpi3mr_bring_ioc_ready(9), mpi3mr_soft_reset_success(9), mpi3mr_diagfault_success(9), mpi3mr_set_diagsave(9), mpi3mr_issue_reset(9), mpi3mr_admin_request_post(9), mpi3mr_free_op_req_q_segments(9), mpi3mr_free_op_reply_q_segments(9), mpi3mr_delete_op_reply_q(9), mpi3mr_alloc_op_reply_q_segments(9), mpi3mr_alloc_op_req_q_segments(9), mpi3mr_create_op_reply_q(9), mpi3mr_create_op_req_q(9), mpi3mr_create_op_queues(9), mpi3mr_op_request_post(9), mpi3mr_check_rh_fault_ioc(9), mpi3mr_sync_timestamp(9), mpi3mr_print_pkg_ver(9), mpi3mr_watchdog_work(9), mpi3mr_start_watchdog(9), mpi3mr_stop_watchdog(9), mpi3mr_setup_admin_qpair(9), mpi3mr_issue_iocfacts(9),

mpi3mr_check_reset_dma_mask(9), mpi3mr_process_factsdata(9), mpi3mr_alloc_reply_sense_bufs(9), mpimr_initialize_reply_sbuf_queues(9), mpi3mr_issue_iocinit(9), mpi3mr_unmask_events(9), mpi3mr_issue_event_notification(9), mpi3mr_process_event_ack(9), mpi3mr_alloc_chain_bufs(9), mpi3mr_port_enable_complete(9), mpi3mr_issue_port_enable(9), mpi3mr_repost_diag_bufs(9), mpi3mr_read_tsu_interval(9), mpi3mr_print_ioc_info(9), mpi3mr_cleanup_resources(9), mpi3mr_setup_resources(9), mpi3mr_enable_events(9), mpi3mr_init_ioc(9), mpi3mr_reinit_ioc(9), mpi3mr_memset_op_reply_q_buffers(9), mpi3mr_memset_op_req_q_buffers(9), mpi3mr_memset_buffers(9), mpi3mr_free_mem(9), mpi3mr_issue_ioc_shutdown(9), mpi3mr_cleanup_ioc(9), mpi3mr_drv_cmd_comp_reset(9), mpi3mr_flush_drv_cmds(9), mpi3mr_pel_wait_post(9), mpi3mr_pel_get_seqnum_post(9), mpi3mr_pel_wait_complete(9), mpi3mr_pel_get_seqnum_complete(9), mpi3mr_check_op_admin_proc(9), mpi3mr_soft_reset_handler(9), mpi3mr_process_cfg_req(9),

mpi3mr_cfg_get_dev_pg0(9), mpi3mr_cfg_get_sas_phy_pg0(9), mpi3mr_cfg_get_sas_phy_pg1(9), mpi3mr_cfg_get_sas_exp_pg0(9), mpi3mr_cfg_get_sas_exp_pg1(9), mpi3mr_cfg_get_enclosure_pg0(9), mpi3mr_cfg_get_sas_io_unit_pg0(9), mpi3mr_cfg_get_sas_io_unit_pg1(9), mpi3mr_cfg_set_sas_io_unit_pg1(9), mpi3mr_cfg_get_driver_pg1(9), mpi3mr_cfg_get_driver_pg2(9)

(yes mpimr_initialize_reply_sbuf_queues(9) really is spelled like that up there, not a typo on my end, go look πŸ‘€)


and that's the whole page bestie, you ate it up πŸ’…βœ¨

this absolute icon of a page lives in ./drivers/scsi/mpi3mr, dated October 2026, and it's mpi3mr_post_cfg_req(9) forever and always πŸŽ€πŸ’–

πŸ“¦ where this page comes from