From: Chengyuan He <channinghey@gmail.com>
To: linux-nvme@lists.infradead.org
Cc: Keith Busch <kbusch@kernel.org>, Jens Axboe <axboe@kernel.dk>,
Christoph Hellwig <hch@lst.de>, Sagi Grimberg <sagi@grimberg.me>,
linux-kernel@vger.kernel.org,
Chengyuan He <channing1ne@gmail.com>
Subject: [PATCH] nvme-pci: add NO_NS_DESC_LIST quirk for SSSTC CL1 SSDs
Date: Thu, 5 Nov 2026 22:45:26 +0900 [thread overview]
Message-ID: <20261105134526.95382-1-channing1ne@gmail.com> (raw)
The SSSTC CL1 series (PCI ID 1e95:9100, e.g. CL1-3D128-Q11, a Silicon
Motion SM2263XT based OEM drive shipped in Dell laptops) reports NVMe
version 1.3 but fails the Namespace Identification Descriptor list
(CNS 03h) with Invalid Field in Command:
nvme nvme1: Identify Descriptors failed (nsid=1, status=0x2)
nvme_scan_ns() gives up on the namespace when nvme_identify_ns_descs()
fails, so no block device is created even though the controller is live
and namespace 1 is otherwise fully functional.
The failure was reproduced with the latest vendor firmware 22301119
(Dell package NJV53, A09) as well as with an older third-party firmware.
The drive reports an all-zero NGUID and EUI64, so skipping the
descriptor list loses no identifiers.
The generic Silicon Motion SM2263 entry (126f:2263) already carries
NVME_QUIRK_NO_NS_DESC_LIST. This drive reports 126f:2263 only as its
subsystem ID, so that entry does not match it.
Add NVME_QUIRK_NO_NS_DESC_LIST for 1e95:9100 as well.
Tested on 7.0.14 by booting with nvme.quirks=1e95:9100:no_ns_desc_list,
after which the namespace shows up and I/O works.
Signed-off-by: Chengyuan He <channing1ne@gmail.com>
---
drivers/nvme/host/pci.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index eade0b1..af19c75 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -4282,6 +4282,8 @@ static const struct pci_device_id nvme_id_table[] = {
.driver_data = NVME_QUIRK_BOGUS_NID, },
{ PCI_DEVICE(0x10ec, 0x5765), /* TEAMGROUP MP33 2TB SSD */
.driver_data = NVME_QUIRK_BOGUS_NID, },
+ { PCI_DEVICE(0x1e95, 0x9100), /* SSSTC CL1 series */
+ .driver_data = NVME_QUIRK_NO_NS_DESC_LIST, },
{ PCI_DEVICE(PCI_VENDOR_ID_AMAZON, 0x0061),
.driver_data = NVME_QUIRK_DMA_ADDRESS_BITS_48, },
{ PCI_DEVICE(PCI_VENDOR_ID_AMAZON, 0x0065),
base-commit: c64d9b2c1f4fd1d8fa52dab37b48428a99c4d58d
--
2.54.0
next reply other threads:[~2026-11-05 13:46 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-05 13:45 Chengyuan He [this message]
2026-11-06 10:53 ` [PATCH] nvme-pci: add NO_NS_DESC_LIST quirk for SSSTC CL1 SSDs Christoph Hellwig
2026-11-06 16:32 ` Keith Busch
2026-11-07 1:43 ` Chengyuan He
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261105134526.95382-1-channing1ne@gmail.com \
--to=channinghey@gmail.com \
--cc=axboe@kernel.dk \
--cc=channing1ne@gmail.com \
--cc=hch@lst.de \
--cc=kbusch@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=sagi@grimberg.me \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.