mpi3mr_remo..._sas_address(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

mpi3mr_remove_device_by_sas_address β€” bestie, this one removes the device. that's the whole job. (also hiii, this is from the Kernel API Manual, section 9 πŸŽ€)


✨ SYNOPSIS ✨

void mpi3mr_remove_device_by_sas_address (struct mpi3mr_ioc *mrioc , u64
sas_address , struct mpi3mr_hba_port *hba_port );

🫢 ARGUMENTS 🫢

  • mrioc β€” the adapter instance reference, aka the whole entire context you're working inside πŸ’–
  • sas_address β€” the SAS address of the device, the actual identifier we're hunting for πŸ”
  • hba_port β€” the HBA port entry, your port-side pointer bestie 🌸

πŸ‘‘ DESCRIPTION πŸ‘‘

okay so here's the vibe: it searches for the target device using the sas address and the hba port pointer, and then β€” once it's found the right one, no cap β€” it removes it from the OS. literally that's it. find matching device, yeet it out of the OS βœ¨πŸ‘‹

it's giving "match by two things or don't match at all" energy. both the address and the port pointer are part of the lookup, iykyk.

🌈 RETURN 🌈

None. nothing comes back. it does the thing and dips πŸ’€


πŸ¦‹ SEE ALSO πŸ¦‹

the kernel file lives right here:

./drivers/scsi/mpi3mr/mpi3mr_transport.c

and here's the whole friend group, every single one of them (yes, all of them, I counted fr fr):

mpi3mr_post_transport_req(9), mpi3mr_report_manufacture(9),
__mpi3mr_expander_find_by_handle(9), mpi3mr_is_expander_device(9),
mpi3mr_get_sas_address(9), __mpi3mr_get_tgtdev_by_addr(9),
mpi3mr_get_tgtdev_by_addr(9), __mpi3mr_get_tgtdev_by_addr_and_rphy(9),
mpi3mr_expander_find_by_sas_address(9),
__mpi3mr_sas_node_find_by_sas_address(9), mpi3mr_parent_present(9),
mpi3mr_convert_phy_link_rate(9), mpi3mr_delete_sas_phy(9),
mpi3mr_add_sas_phy(9), mpi3mr_add_phy_to_an_existing_port(9),
mpi3mr_delete_sas_port(9), mpi3mr_del_phy_from_an_existing_port(9),
mpi3mr_sas_port_sanity_check(9), mpi3mr_set_identify(9),
mpi3mr_add_host_phy(9), mpi3mr_add_expander_phy(9),
mpi3mr_alloc_hba_port(9), mpi3mr_get_hba_port_by_id(9),
mpi3mr_update_links(9), mpi3mr_sas_host_refresh(9),
mpi3mr_sas_host_add(9), mpi3mr_sas_port_add(9),
mpi3mr_sas_port_remove(9), struct host_port(9),
mpi3mr_update_mr_sas_port(9), mpi3mr_refresh_sas_ports(9),
mpi3mr_refresh_expanders(9), mpi3mr_expander_node_add(9),
mpi3mr_expander_add(9), mpi3mr_expander_node_remove(9),
mpi3mr_expander_remove(9),
mpi3mr_get_sas_negotiated_logical_linkrate(9),
mpi3mr_report_tgtdev_to_sas_transport(9),
mpi3mr_remove_tgtdev_from_sas_transport(9),
mpi3mr_get_port_id_by_sas_phy(9), mpi3mr_get_port_id_by_rphy(9),
mpi3mr_get_expander_phy_error_log(9),
mpi3mr_transport_get_linkerrors(9),
mpi3mr_transport_get_enclosure_identifier(9),
mpi3mr_transport_get_bay_identifier(9), mpi3mr_expander_phy_control(9),
mpi3mr_transport_phy_reset(9), mpi3mr_transport_phy_enable(9),
mpi3mr_transport_phy_speed(9), mpi3mr_map_smp_buffer(9),
mpi3mr_unmap_smp_buffer(9), mpi3mr_transport_smp_handler(9)

okay that's the whole page, mwah πŸ’‹ this lil cutie lives at ./drivers/scsi/mpi3mr, dated October 2026, and it's the mpi3mr_remo..._sas_address(9) page β€” go read the rest of the transport fam, they're all iconic, periodt πŸŽ€πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from