ENUM UFSHCD_STATE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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 code DID_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 code DID_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