ENUM UFSHCD_STATE(9)
π NAME π
okay bestie, welcome to the enum ufshcd_state(9) page from the Kernel API Manual β¨ β this is all about UFS host controller state. Think of it as the controller's mood ring, except the moods are real kernel states and the consequences are SCSI command behavior. π
β¨ SYNOPSIS β¨
enum ufshcd_state {
UFSHCD_STATE_RESET ,
UFSHCD_STATE_OPERATIONAL ,
UFSHCD_STATE_EH_SCHEDULED_NON_FATAL ,
UFSHCD_STATE_EH_SCHEDULED_FATAL ,
UFSHCD_STATE_ERROR
};
π Constants π
So the states are giving very specific energy, and here's the tea on each one:
UFSHCD_STATE_RESETβ the link is not operational, so literally postpone SCSI command processing. Not the vibe right now. πUFSHCD_STATE_OPERATIONALβ slay, the host controller is operational and can process SCSI commands. Main character energy fr fr. πUFSHCD_STATE_EH_SCHEDULED_NON_FATALβ the error handler has been scheduled; SCSI commands may be submitted to the controller. Not fatal, just scheduled. πUFSHCD_STATE_EH_SCHEDULED_FATALβ the error handler has been scheduled, and newly submitted SCSI commands get failed with error codeDID_BAD_TARGET. It's giving "we're handling it, but also no new commands." πUFSHCD_STATE_ERRORβ an unrecoverable error occurred, e.g. link recovery failed. All SCSI commands get failed with error codeDID_ERROR. Absolutely not the moment. π
π SEE ALSO π
Kernel file ./include/ufs/ufshcd.h is the home base for this whole situation. The rest of the squad, all in section 9, is:
struct uic_command(9)struct ufshcd_lrb(9)struct ufs_query_req(9)struct ufs_query_res(9)struct ufs_query(9)struct ufs_dev_cmd(9)struct ufs_clk_info(9)struct tx_eqtr_iter(9)struct ufshcd_tx_eq_settings(9)struct ufshcd_tx_eqtr_data(9)struct ufshcd_tx_eqtr_record(9)struct ufshcd_tx_eq_params(9)struct ufs_hba_variant_ops(9)struct ufs_clk_gating(9)struct ufs_clk_scaling(9)struct ufs_event_hist(9)struct ufs_stats(9)enum ufshcd_pmc_policy(9)struct ufshcd_mcq_opr_info_t(9)struct ufs_hba(9)struct ufs_hw_queue(9)ufshcd_rmwl(9)ufshcd_set_variant(9)ufshcd_get_variant(9)
okay that's the whole page, bestie π«Ά β source/version vibes live in ./include/ufs, dated October 2026, and yes it's the enum ufshcd_state(9) manual. mwah π
π¦ 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