[PATCH v2 0/1] nvme: disable CC.CRIME (NVME_CC_CRIME)

gjoyce at linux.ibm.com gjoyce at linux.ibm.com
Mon Oct 7 12:33:23 PDT 2024


From: Greg Joyce <gjoyce at linux.ibm.com>

NVMe 2.0 introduced a configuration setting CC.CRIME that allows the 
controller to set CSTS.RDY before the media is fully enabled. In this
case commands listed in Figure 103 may return the status
NVME_SC_ADMIN_COMMAND_MEDIA_NOT_READY. The NVMe driver is not coded
to handle these failures so initialization errors occur.

Since the current driver does not:
	1) retry media not ready errors
	2) utilize any parallel initialization that CRIME may provide

setting NVME_CC_CRIME provides no value.

The NVMe 2.0 spec says this about CC.CRIME:
	"If the CAP.CRMS field is set to 11b, then both controller
	 ready modes are supported, and the host may select the
	 controller ready mode by modifying the value of the
	 CC.CRIME bit."

This the CC.CRIME feature is optional and this patch removes it.

Changelog
v2:	- remove NVME_CC_CRIME from timeout calculations (Keith Busch)

Greg Joyce (1):
  nvme: disable CC.CRIME (NVME_CC_CRIME)

 drivers/nvme/host/core.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

-- 
gjoyce at linux.ibm.com




More information about the Linux-nvme mailing list