mpt_HardResetHandler(9)
π mpt_HardResetHandler(9) β like, the generic reset handler, bestie
okay so this page lives in the Kernel API Manual and honestly it's giving "one function, so much responsibility" energy. sit down, grab a strawberry, we're doing this π
β¨ NAME β¨
mpt_HardResetHandler β the generic reset handler, no cap. it's literally the reset handler. generic edition.
π¦ SYNOPSIS π¦
int mpt_HardResetHandler (MPT_ADAPTER *ioc , int sleepFlag );
π ARGUMENTS π
iocβ a pointer to theMPT_ADAPTERstructure. yes bestie, the adapter, that one πsleepFlagβ tells us whethersleeporschedulehas to be called. very much a "which one do i call" situation.
πΈ DESCRIPTION πΈ
so it issues a SCSI Task Management call based on the input arg values. that's the whole mission. and if TaskMgmt fails? it returns the associated SCSI request. like, it brings the request back to you. iconic honestly.
Remark:_HardResetHandlercan be invoked from an interrupt thread (timer) or a non-interrupt thread. and in the former case? you must not callschedule. not optional, not a vibe suggestion. π«Ά
π₯ NOTE π₯
a return of -1 is a FATAL error case, because it means a FW reload/initialization failed. like, that's the bad one. π
it returns 0 for SUCCESS or -1 if FAILED. that's it, that's the whole personality.
π SEE ALSO π
kernel file ./drivers/message/fusion/mptbase.c plus, like, the entire extended friend group:
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), mpt_diag_reset(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), 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) π
that's the whole roster. no gatekeeping here.
and that's the page! π§ from ./drivers/message/fusion, dated October 2026 β mwah, take care of her, she's a hard reset handler π
β¨
π¦ 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