Samsung PM1733 MZXL53T2HBLS-00AH3 and duplicate id's may need a quirk
Laurence Oberman
loberman at redhat.com
Wed Apr 30 12:48:38 PDT 2025
On Wed, 2025-04-30 at 12:14 -0400, Laurence Oberman wrote:
> Hello
>
> A customer was attempting to create additional namespaces on this
> device and it failed with
>
> [ 1120.516952] nvme nvme0: rescanning namespaces.
> [ 1120.531873] nvme nvme0: duplicate IDs in subsystem for nsid 2
> [ 1120.573891] nvme nvme0: duplicate IDs in subsystem for nsid 4
> [ 1120.587822] nvme nvme0: duplicate IDs in subsystem for nsid 5
> [ 1120.601886] nvme nvme0: duplicate IDs in subsystem for nsid 6
>
> I added some debug and this was flagged here
>
> we trigger on this and we return -ENVAL
>
>
> if (has_eui64 &&
> memcmp(&ids->eui64, &h->ids.eui64, sizeof(ids-
> > eui64)) == 0) {
> printk("RHDEBUG: ids->eui64: %pUB h-
> > ids.eui64: %pUB\n",&ids->uuid,&h->ids.uuid);
> return -EINVAL;
> }
>
> This leads to the code here bailing with the duplicate id message
>
> static int nvme_init_ns_head(struct nvme_ns *ns, struct nvme_ns_info
> *info)
> {
> struct nvme_ctrl *ctrl = ns->ctrl;
> struct nvme_ns_head *head = NULL;
> int ret;
>
> ..
> ..
> mutex_lock(&ctrl->subsys->lock);
> head = nvme_find_ns_head(ctrl, info->nsid);
> if (!head) {
> ret = nvme_subsys_check_duplicate_ids(ctrl->subsys,
> &info->ids);
> if (ret) {
> dev_err(ctrl->device,
> "duplicate IDs in subsystem for nsid
> %d\n",
> info->nsid);
> goto out_unlock;
> }
> ..
> ..
> out_unlock:
> mutex_unlock(&ctrl->subsys->lock);
> return ret;
> }
>
> My question do we need to add yet another NVME_QUIRK_BOGUS_NID, for
> this device model.
>
> Has anybody else seen this
>
> Regards
> Laurence
Quick follow up, This is not a patch yet, just an update to get
feedback first.
The quirk works
Would it be acceptable to add this and if so I will send an official
patch
diff -Nurp linux-5.14.0-503.38.1.el9_5.orig/drivers/nvme/host/pci.c
linux-5.14.0-503.38.1.el9_5/drivers/nvme/host/pci.c
--- linux-5.14.0-503.38.1.el9_5.orig/drivers/nvme/host/pci.c 2025-
04-13 20:22:20.000000000 -0400
+++ linux-5.14.0-503.38.1.el9_5/drivers/nvme/host/pci.c 2025-04-30
12:44:11.068963106 -0400
@@ -3432,6 +3432,8 @@ static const struct pci_device_id nvme_i
.driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, },
{ PCI_DEVICE(0x144d, 0xa802), /* Samsung SM953 */
.driver_data = NVME_QUIRK_BOGUS_NID, },
+ { PCI_DEVICE(0x144d, 0xa824), /* Samsung PM1733
MZXL53T2HBLS-00AH3 */
+ .driver_data = NVME_QUIRK_BOGUS_NID, },
{ PCI_DEVICE(0x1cc4, 0x6303), /* UMIS RPJTJ512MGE1QDY 512G
*/
.driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, },
{ PCI_DEVICE(0x1cc4, 0x6302), /* UMIS RPJTJ256MGE1QDY 256G
*/
More information about the Linux-nvme
mailing list