mpi3mr_shutdown(9)
π mpi3mr_shutdown(9) β from the Kernel API Manual, bestie β¨
okay so real talk, this is a page straight out of the Kernel API Manual, and it's about mpi3mr_shutdown β yes, the one with the (9) after it, that's the section number, we stan a properly cited manpage π
πΈ NAME πΈ
mpi3mr_shutdown β the PCI shutdown callback. that's it, that's the whole vibe π¦
β¨ SYNOPSIS β¨
void mpi3mr_shutdown (struct pci_dev *pdev );
like, it takes one thing and returns literally nothing. minimalism. main character energy π
π«Ά ARGUMENTS π«Ά
pdevβ the PCI device instance. that's your lil guy. the device. the whole reason we're here π₯Ί
π DESCRIPTION π
so what does it actually do? it frees up all memory and resources associated with the controller. every last one. it's giving spring cleaning, it's giving "we're so done here", and honestly? iconic π
no cap, this is the cleanup era β everything tied to the controller gets released β¨
β RETURN β
Nothing. like, not "0", not a pointer, not a cute little status code β literally nothing. void. the absence of a return value. we love a function that knows what it is π
π SEE ALSO π
okay bestie, buckle up, because there are a LOT of friends in this list and every single one of them is getting their moment π
first up, the kernel file itself:
Kernel file ./drivers/scsi/mpi3mr/mpi3mr_os.c
and then the whole squad, fr fr β here they all are, exactly as they're written:
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_sastopochg_evt_bh(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_suspend(9), mpi3mr_resume(9), mpi3mr_pcierr_error_detected(9),
mpi3mr_pcierr_slot_reset(9), mpi3mr_pcierr_resume(9),
mpi3mr_pcierr_mmio_enabled(9)
likeβ¦ the way that list just keeps going π iykyk. anyway, every single one of those is a real reference, don't come for me π
and that's the page!! π this lil beauty lives over in ./drivers/scsi/mpi3mr, dated October 2026 β so go forth, free your controller's memory and resources, and slay β¨ππ¦
π¦ 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