mpt_diag_reset(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 mpt_diag_reset(9) β€” your girl's guide to the Kernel API Manual ✨

Okay bestie, this little icon lives in the Kernel API Manual, and honestly? It's giving "big reset energy." Let's get into it πŸ’…


πŸŽ€ NAME πŸŽ€

mpt_diag_reset β€” literally just performs a hard reset of the adapter. That's the whole vibe. No cap.


✨ SYNOPSIS ✨

int mpt_diag_reset (MPT_ADAPTER *ioc , int ignore , int sleepFlag );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • ioc β€” a pointer to the MPT_ADAPTER structure. That's your adapter bestie, the main character of this whole routine 🫢
  • ignore β€” set it if you want to honor and clear the reset history bit; clear it to ignore that bit. Lowkey a weird name for a flag that does the opposite of what you'd think, but okay, we move πŸ™ˆ
  • sleepFlag β€” pass CAN_SLEEP if you're calling from a non-interrupt thread; otherwise set it to NO_SLEEP (and then it uses mdelay instead). Choose wisely, queen πŸ‘‘

πŸ”₯ DESCRIPTION πŸ”₯

So here's the tea πŸ“: this routine puts the adapter into diagnostic mode by writing to the WriteSequence register, and then it performs a hard reset of the adapter via the Diagnostic register. That's it, that's the whole ritual.

Upon successful completion, the adapter should be in ready state. Periodt. πŸ‘‘


πŸ’œ RETURN πŸ’œ

The numbers it can hand back to you, and what they mean:

  • 1 β€” hard reset successful, ate and left no crumbs πŸŽ‰
  • 0 β€” no reset performed, because the reset history bit was set 😭
  • -2 β€” enabling diagnostic mode failed πŸ’€
  • -3 β€” diagnostic reset failed πŸ™ˆ
Watch those negatives, bestie β€” -2 and -3 mean the vibe check did not pass. Don't just assume 1 and move on fr fr.

🌈 SEE ALSO 🌈

The kernel file is ./drivers/message/fusion/mptbase.c, and it comes with a whole friend group β€” here's every single one, no skipping, we love a complete list 🧚

mpt_get_cb_idx(9), mpt_is_discovery_complete(9), mpt_remove_dead_ioc_func(9), mpt_fault_reset_work(9), mpt_interrupt(9), mptbase_reply(9), mpt_register(9), mpt_deregister(9), mpt_event_register(9), mpt_event_deregister(9), mpt_reset_register(9), mpt_reset_deregister(9), mpt_device_driver_register(9), mpt_device_driver_deregister(9), mpt_get_msg_frame(9), mpt_put_msg_frame(9), mpt_put_msg_frame_hi_pri(9), mpt_free_msg_frame(9), mpt_add_sge(9), mpt_add_sge_64bit(9), mpt_add_sge_64bit_1078(9), mpt_add_chain(9), mpt_add_chain_64bit(9), mpt_send_handshake_request(9), mpt_host_page_access_control(9), mpt_host_page_alloc(9), mpt_verify_adapter(9), mpt_get_product_name(9), mpt_mapresources(9), mpt_attach(9), mpt_detach(9), mpt_suspend(9), mpt_resume(9), mpt_do_ioc_recovery(9), mpt_detect_bound_ports(9), mpt_adapter_disable(9), mpt_adapter_dispose(9), MptDisplayIocCapabilities(9), MakeIocReady(9), mpt_GetIocState(9), GetIocFacts(9), GetPortFacts(9), SendIocInit(9), SendPortEnable(9), mpt_alloc_fw_memory(9), mpt_free_fw_memory(9), mpt_do_upload(9), mpt_downloadboot(9), KickStart(9), SendIocReset(9), initChainBuffers(9), PrimeIocFifos(9), mpt_handshake_req_reply_wait(9), WaitForDoorbellAck(9), WaitForDoorbellInt(9), WaitForDoorbellReply(9), GetLanConfigPages(9), mptbase_sas_persist_operation(9), GetIoUnitPage2(9), mpt_GetScsiPortSettings(9), mpt_readScsiDevicePageHeaders(9), mpt_inactive_raid_list_free(9), mpt_inactive_raid_volumes(9), mpt_raid_phys_disk_pg0(9), mpt_raid_phys_disk_get_num_paths(9), mpt_raid_phys_disk_pg1(9), mpt_findImVolumes(9), SendEventNotification(9), SendEventAck(9), mpt_config(9), mpt_ioc_reset(9), procmpt_create(9), procmpt_destroy(9), mpt_print_ioc_summary(9), mpt_set_taskmgmt_in_progress_flag(9), mpt_clear_taskmgmt_in_progress_flag(9), mpt_halt_firmware(9), mpt_SoftResetHandler(9), mpt_Soft_Hard_ResetHandler(9), mpt_HardResetHandler(9), ProcessEventNotification(9), mpt_fc_log_info(9), mpt_spi_log_info(9), mpt_sas_log_info(9), mpt_iocstatus_info_config(9), mpt_iocstatus_info(9), fusion_init(9), fusion_exit(9)


Okay that's the whole page, bestie β€” go forth and reset that adapter πŸ’–

Signed, sealed, delivered: sourced from ./drivers/message/fusion, dated October 2026. Mwah πŸŽ€βœ¨

πŸ“¦ where this page comes from