mpi3mr_cfg_get_sas_exp_pg0(9)
β¨ NAME β¨
Okay bestie, welcome to the Kernel API Manual entry for mpi3mr_cfg_get_sas_exp_pg0 β yes that's a mouthful, but it's literally the function that reads the current SAS Expander page 0. That's the whole vibe. π
π¦ SYNOPSIS π¦
Okay so here's the signature, and yes it's a lot of arguments, but we love her:
int mpi3mr_cfg_get_sas_exp_pg0 (struct mpi3mr_ioc *mrioc , u16
*ioc_status , struct mpi3_sas_expander_page0 *exp_pg0 , u16 pg_sz , u32
form , u32 form_spec );
π ARGUMENTS π
mriocβ Adapter instance reference. Like, the adapter's whole identity. π«Άioc_statusβ Pointer to return ioc status. It's where the status comes back to, no cap. βexp_pg0β Pointer to return SAS Expander page 0. The page herself. πΈpg_szβ Size of the memory allocated to the page pointer. Important! It's the size check for the memory you allocated to the page pointer. πformβ The form to be used for addressing the page. Address it, bestie! πform_specβ Form specific information like device handle. The little details that slay. β¨
π DESCRIPTION π
Okay so listen up: this function is the handler for config page read for a specific SAS Expander page0. That's its whole job. Periodt. π
The ioc_status has the controller returned ioc_status. That means the controller's status comes back through that pointer, and you're gonna want to look at it. But here's the tea, and I need you to sip it slowly: this routine doesn't check ioc_status to decide whether the page read is a success or not β and it is the caller's responsibility. That's right, bestie, it's not gonna hold your hand. You have to check it yourself. No cap. π
β οΈ Warning:mpi3mr_cfg_get_sas_exp_pg0literally does not checkioc_statusto decide success. If you don't check it, that's on you. The caller is responsible. Periodt. π
π RETURN π
Returns 0 on success, non-zero on failure. So if you see 0, slay. If not, something's up. π
π₯ SEE ALSO π₯
Also, like, peep the whole friend group of related functions and files β they're all iconic and you should know them:
./drivers/scsi/mpi3mr/mpi3mr_fw.cβ the kernel file, the source, the origin story. π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_post_cfg_req(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_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)
And that's the whole vibe! Sending you off with love from ./drivers/scsi/mpi3mr, October 2026 edition. Stay slaying, 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