mpi3mr_sastopochg_evt_bh(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… mpi3mr_sastopochg_evt_bh(9) β€” SASTopologyChange evt bottomhalf

okay so bestie, welcome to the Kernel API Manual ✨ β€” yes this is a real page from the kernel API docs and yes it's about SCSI firmware events. buckle up πŸŽ€


🌸 NAME 🌸

mpi3mr_sastopochg_evt_bh β€” the SASTopologyChange evt bottomhalf. that's it, that's the whole name 😌


✨ SYNOPSIS ✨

void mpi3mr_sastopochg_evt_bh (struct mpi3mr_ioc *mrioc , struct
mpi3mr_fwevt *fwevt );

literally one function, two args, returns nothing. no notes. πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • mrioc β€” your Adapter instance reference, aka the adapter we're talking about 🫢
  • fwevt β€” your Firmware event reference, aka the event that just slid into the queue πŸ’Œ

πŸ’– DESCRIPTION πŸ’–

so what does it actually do? it prints information about the SAS topology change event πŸ–¨οΈβœ¨ β€” like, it's giving very "let me tell you what just happened on the bus."

and then, for the "not responding" event code specifically πŸ‘€, it removes the device from the upper layers. bye bestie, you're not responding, you're outta here πŸ’€πŸ‘‹

no cap, that's the whole vibe. 🌈


πŸŽ€ RETURN πŸŽ€

Nothing. like, nothing nothing. void. she gives and gives and expects nothing back πŸ˜­πŸ’œ


πŸ”₯ SEE ALSO πŸ”₯

first up, the file herself: ./drivers/scsi/mpi3mr/mpi3mr_os.c β€” that's where all the magic lives, iykyk πŸ“βœ¨

and now the whole entire friend group, fr fr β€” every single one of these, no skips, no cuts πŸ‘‘:

mpi3mr_host_tag_for_scmd(9), mpi3mr_scmd_from_host_tag(9), mpi3mr_clear_scmd_priv(9), mpi3mr_fwevt_free(9), mpi3mr_fwevt_get(9), mpi3mr_fwevt_put(9), mpi3mr_alloc_fwevt(9), mpi3mr_fwevt_add_to_list(9), mpi3mr_hdb_trigger_data_event(9), mpi3mr_fwevt_del_from_list(9), mpi3mr_dequeue_fwevt(9), mpi3mr_cancel_work(9), mpi3mr_cleanup_fwevt_list(9), mpi3mr_queue_qd_reduction_event(9), mpi3mr_invalidate_devhandles(9), mpi3mr_print_scmd(9), mpi3mr_flush_scmd(9), mpi3mr_count_dev_pending(9), mpi3mr_count_tgt_pending(9), mpi3mr_flush_host_io(9), mpi3mr_flush_cmds_for_unrecovered_controller(9), mpi3mr_alloc_tgtdev(9), mpi3mr_tgtdev_add_to_list(9), mpi3mr_tgtdev_del_from_list(9), __mpi3mr_get_tgtdev_by_handle(9), mpi3mr_get_tgtdev_by_handle(9), __mpi3mr_get_tgtdev_by_perst_id(9), mpi3mr_get_tgtdev_by_perst_id(9), __mpi3mr_get_tgtdev_from_tgtpriv(9), mpi3mr_set_io_divert_for_all_vd_in_tg(9), mpi3mr_print_device_event_notice(9), mpi3mr_remove_tgtdev_from_host(9), mpi3mr_report_tgtdev_to_host(9), mpi3mr_change_queue_depth(9), mpi3mr_update_sdev(9), mpi3mr_refresh_tgtdevs(9), mpi3mr_debug_dump_devpg0(9), mpi3mr_update_tgtdev(9), mpi3mr_devstatuschg_evt_bh(9), mpi3mr_devinfochg_evt_bh(9), mpi3mr_free_enclosure_list(9), mpi3mr_enclosure_find_by_handle(9), mpi3mr_process_trigger_data_event_bh(9), mpi3mr_encldev_add_chg_evt_debug(9), mpi3mr_encldev_add_chg_evt_bh(9), mpi3mr_sastopochg_evt_debug(9), mpi3mr_pcietopochg_evt_debug(9), mpi3mr_pcietopochg_evt_bh(9), mpi3mr_logdata_evt_bh(9), mpi3mr_update_sdev_qd(9), mpi3mr_set_qd_for_all_vd_in_tg(9), mpi3mr_fwevt_bh(9), mpi3mr_fwevt_worker(9), mpi3mr_create_tgtdev(9), mpi3mr_flush_delayed_cmd_lists(9), mpi3mr_dev_rmhs_complete_iou(9), mpi3mr_dev_rmhs_complete_tm(9), mpi3mr_dev_rmhs_send_tm(9), mpi3mr_complete_evt_ack(9), mpi3mr_send_event_ack(9), mpi3mr_pcietopochg_evt_th(9), mpi3mr_sastopochg_evt_th(9), mpi3mr_devstatuschg_evt_th(9), mpi3mr_preparereset_evt_th(9), mpi3mr_energypackchg_evt_th(9), mpi3mr_cablemgmt_evt_th(9), mpi3mr_add_event_wait_for_device_refresh(9), mpi3mr_os_handle_events(9), mpi3mr_setup_eedp(9), mpi3mr_build_sense_buffer(9), mpi3mr_map_eedp_error(9), mpi3mr_process_op_reply_desc(9), mpi3mr_get_chain_idx(9), mpi3mr_prepare_sg_scmd(9), mpi3mr_build_sg_scmd(9), mpi3mr_tm_response_name(9), mpi3mr_issue_tm(9), mpi3mr_bios_param(9), mpi3mr_map_queues(9), mpi3mr_get_fw_pending_ios(9), mpi3mr_print_pending_host_io(9), mpi3mr_wait_for_host_io(9), mpi3mr_setup_divert_ws(9), mpi3mr_eh_host_reset(9), mpi3mr_eh_bus_reset(9), mpi3mr_eh_target_reset(9), mpi3mr_eh_dev_reset(9), mpi3mr_eh_abort(9), mpi3mr_scan_start(9), mpi3mr_scan_finished(9), mpi3mr_sdev_destroy(9), mpi3mr_target_destroy(9), mpi3mr_sdev_configure(9), mpi3mr_sdev_init(9), mpi3mr_target_alloc(9), mpi3mr_check_return_unmap(9), mpi3mr_allow_scmd_to_fw(9), mpi3mr_qcmd(9), mpi3mr_init_drv_cmd(9), osintfc_mrioc_security_status(9), mpi3mr_probe(9), mpi3mr_remove(9), mpi3mr_shutdown(9), mpi3mr_suspend(9), mpi3mr_resume(9), mpi3mr_pcierr_error_detected(9), mpi3mr_pcierr_slot_reset(9), mpi3mr_pcierr_resume(9), mpi3mr_pcierr_mmio_enabled(9)

ngl that's a LOT of cross-references but we got through all of them, no cap πŸ’€πŸŽ€

πŸ’« and that's the whole page babes πŸ’«

this little love letter comes to you from ./drivers/scsi/mpi3mr, dated October 2026 β€” same page name, same manual, we just made it cute πŸ¦‹πŸ’œ periodt.

πŸ“¦ where this page comes from