Storage & Filesystems

NVMe fails after idle or resume

Use a controlled NVMe power-state comparison when failures follow idle or resume; separate APST from PCIe ASPM and system suspend behavior.

On this page
  1. Symptoms & scope
  2. Possible causes
  3. Diagnose safely
  4. Evidence-guided next steps
  5. References & review
  6. Related problems

Symptoms & scope

  • Storage works under activity but disappears after a quiet period.
  • The first I/O after wake-up triggers a reset.

Relevant environment

Local NVMe SSDs with APST support; kernel parameter effects depend on the controller and its quirks.

Recognizable messages (synthetic examples)
nvme nvme0: failed to set APST feature (-19)

Inspect earlier controller errors; APST setup may fail because the controller is already unavailable, so this is not proof APST caused a crash.

Possible causes

These are possible explanations, not a confirmed diagnosis. Several independent faults can coexist.

  • A controller may mishandle an autonomous power-state transition; timing evidence and a controlled comparison are needed.
  • Suspend/resume ordering, PCIe ASPM or firmware can produce similar symptoms without APST being responsible.

Diagnose safely

Run one command at a time in the relevant session. Read the explanation first. Uppercase placeholders need your own values; tools and privileges vary by distribution. These commands are displayed here and never executed by the website.

Check 1

Read the APST latency policy used for newly enumerated devices; no administrator rights normally needed.

cat /sys/module/nvme_core/parameters/default_ps_max_latency_us

Interpret the result: Zero disables APST selection by this policy. A nonzero value permits suitable states but does not prove the affected drive actually entered one.

Check 2

Read kernel events near the last idle or suspend cycle; journal privileges may be required.

journalctl -k -b --no-pager -n 400

Interpret the result: APST setup errors concern feature programming, while resume I/O timeouts show availability loss. Neither identifies the exact power-management layer alone.

Evidence-guided next steps

Compare one boot with APST disabled

Only if failures reliably follow idle or wake, append nvme_core.default_ps_max_latency_us=0 to one boot entry using the bootloader editor. Repeat the same idle or wake interval, preserving the original entry.

Precautions: Disabling APST can increase SSD power and temperature. Do not simultaneously disable ASPM or change the kernel; otherwise the result cannot distinguish causes.

Recovery / rollback: Boot the unchanged entry to restore the original policy. Persist a workaround only after repeatable evidence and a model-specific review.

Did this solution help you?

Share this solution#

Check firmware and resume regressions

If the single-boot APST change has no effect, remove it and compare a previously working supported kernel. Check SSD and system firmware advisories for the exact models, keeping suspend and idle cases as separate tests.

Precautions: Keep backups and a bootable kernel. A successful short comparison is evidence, not a guarantee of long-term stability.

Recovery / rollback: Restore the previous kernel selection and remove only the experimental parameter or configuration change.

Did this solution help you?

Share this solution#

References & review

This guide was prepared from primary project or distribution sources and reviewed on the date shown. This is an editorial source check, not evidence that a fix was reproduced on your hardware. Diagnostic log examples are synthetic fixtures. Version-dependent details must be checked against your installed release.

Related hardware and driver context

These profiles explain relevant driver paths. They do not establish that your device has this fault. Identify your device and binding first.

Identify hardware locally