mpi3mr_cfg_get_sas_exp_pg1(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

mpi3mr_cfg_get_sas_exp_pg1 β€” bestie, this is literally the handler that reads the current SAS Expander page1 ✨


πŸŽ€ SYNOPSIS πŸŽ€

int mpi3mr_cfg_get_sas_exp_pg1 (struct mpi3mr_ioc *mrioc , u16
*ioc_status , struct mpi3_sas_expander_page1 *exp_pg1 , u16 pg_sz , u32
form , u32 form_spec );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • mrioc β€” your adapter instance reference, aka the whole personality in question 🫢
  • ioc_status β€” a pointer so we can hand back the ioc status, no cap
  • exp_pg1 β€” a pointer where the SAS Expander page 1 comes home to live πŸ’–
  • pg_sz β€” the size of the memory you allocated for that page pointer, so like, tell it how much room it's got
  • form β€” the form to be used for addressing the page, iykyk
  • form_spec β€” form-specific info, like the phy number 🌸

🌈 DESCRIPTION 🌈

Okay so this is the config page read handler for a specific SAS Expander page1. Like, that specific one. πŸ‘‘

The ioc_status holds the controller-returned ioc status. Now here's the part where you need to pay attention, bestie: this routine does not check ioc_status to decide whether the page read succeeded or not. That vibe check is entirely the caller's responsibility β€” it's giving main character energy and you're the main character. 😭


⭐ RETURN ⭐

0 on success, non-zero on failure. Simple as that, fr fr. πŸ’€


πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./drivers/scsi/mpi3mr/mpi3mr_fw.c and honestly the whole extended friend group:


okay that's the whole page, you ate that πŸ’…βœ¨

This little gem lives over at ./drivers/scsi/mpi3mr, dated October 2026 β€” screenshot it, cite it, frame it, whatever, it's iconic πŸŽ€πŸ¦‹πŸ’–

πŸ“¦ where this page comes from