This adds a quirk to fix the Samsung PM1733a and PM173X reporting bogus eui64 so they are not marked as "non globally unique" duplicates.
Cc: stable@vger.kernel.org Signed-off-by: Saeed Mirzamohammadi saeed.mirzamohammadi@oracle.com --- drivers/nvme/host/pci.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index 5b95c94ee40f2..c0b1caba1c893 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -3359,6 +3359,10 @@ static const struct pci_device_id nvme_id_table[] = { .driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY | NVME_QUIRK_DISABLE_WRITE_ZEROES| NVME_QUIRK_IGNORE_DEV_SUBNQN, }, + { PCI_DEVICE(0x144d, 0xa824), /* Samsung PM173X */ + .driver_data = NVME_QUIRK_BOGUS_NID, }, + { PCI_DEVICE(0x144d, 0xa825), /* Samsung PM1733a */ + .driver_data = NVME_QUIRK_BOGUS_NID, }, { PCI_DEVICE(0x1987, 0x5012), /* Phison E12 */ .driver_data = NVME_QUIRK_BOGUS_NID, }, { PCI_DEVICE(0x1987, 0x5016), /* Phison E16 */
On 3/15/23 15:34, Saeed Mirzamohammadi wrote:
Looks good.
Reviewed-by: Chaitanya Kulkarni kch@nvidia.com
-ck
On Wed, Mar 15, 2023 at 03:34:36PM -0700, Saeed Mirzamohammadi wrote:
This adds a quirk to fix the Samsung PM1733a and PM173X reporting bogus eui64 so they are not marked as "non globally unique" duplicates.
What kinds of euid do they report? Did you report the bug to Samsung?
Hi,
eui64 values are not unique. Here is an example: namespace1 nguid : 36554630529000710025384500000001 eui64 : 002538191100104a namespace2 nguid : 36554630529000710025384500000002 eui64 : 002538191100104a namespace3 nguid : 36554630529000710025384500000003 eui64 : 002538191100104a namespace4 nguid : 36554630529000710025384500000004 eui64 : 002538191100104a
I haven’t yet contacted Samsung. Do you recommend any one to reach out to?
Thanks, Saeed
On Thu, Mar 16, 2023 at 09:31:38PM +0000, Saeed Mirzamohammadi wrote:
Eww, that's really a grave bug. Interestingly enough the nguid works, so I wonder if we should just quirk the EUI so that we have a least some uniqueue identifier.
I haven’t yet contacted Samsung. Do you recommend any one to reach out to?
We have plenty of Samsung folks here on the list, maybe someone can reply?
Hi Saeed, On Thu, Mar 16, 2023 at 09:31:38PM +0000, Saeed Mirzamohammadi wrote:
I am able to reproduce this error with a PM173X.
nvme id-ns: root@missingno:~# nvme id-ns -n 1 /dev/nvme1 | grep eui64 eui64 : 00253891010005b3 root@missingno:~# nvme id-ns -n 2 /dev/nvme1 | grep eui64 eui64 : 00253891010005b3 root@missingno:~# nvme id-ns -n 3 /dev/nvme1 | grep eui64 eui64 : 00253891010005b3
dmesg: [174690.305507] nvme nvme1: identifiers changed for nsid 1 [174878.481002] nvme nvme1: rescanning namespaces. [174878.535981] nvme nvme1: duplicate IDs in subsystem for nsid 2 [174878.599982] nvme nvme1: duplicate IDs in subsystem for nsid 2 [174883.673001] nvme nvme1: rescanning namespaces. [174883.740045] nvme nvme1: duplicate IDs in subsystem for nsid 2 [174883.784025] nvme nvme1: duplicate IDs in subsystem for nsid 3 [174883.852034] nvme nvme1: duplicate IDs in subsystem for nsid 2 [174883.892040] nvme nvme1: duplicate IDs in subsystem for nsid 3
I will report this to our firmware team. Meanwhile, Could you paste your output id-ctrl output here? I am interested in the fw version you are using.
-- Pankaj
Hi Pankaj,
See the output below.
NVME Identify Controller: vid : 0x144d ssvid : 0x108e sn : S64VNE0R602271 mn : SAMSUNG MZWLR3T8HBLS-00AU3 fr : MPK94R5Q rab : 8 ieee : 002538 cmic : 0x3 mdts : 8 cntlid : 0x41 ver : 0x10300 rtd3r : 0xe4e1c0 rtd3e : 0x989680 oaes : 0x300 ctratt : 0 rrls : 0 cntrltype : 0 fguid : crdt1 : 0 crdt2 : 0 crdt3 : 0 nvmsr : 1 vwci : 255 mec : 3 oacs : 0x5f acl : 127 aerl : 15 frmw : 0x17 lpa : 0xe elpe : 255 npss : 0 avscc : 0x1 apsta : 0 wctemp : 345 cctemp : 358 mtfa : 130 hmpre : 0 hmmin : 0 tnvmcap : 3840755982336 unvmcap : 3989938176 rpmbs : 0 edstt : 2 dsto : 1 fwug : 255 kas : 0 hctma : 0 mntmt : 0 mxtmt : 0 sanicap : 0x3 hmminds : 0 hmmaxd : 0 nsetidmax : 0 endgidmax : 0 anatt : 0 anacap : 0 anagrpmax : 0 nanagrpid : 0 pels : 0 domainid : 0 megcap : 0 sqes : 0x66 cqes : 0x44 maxcmd : 0 nn : 32 oncs : 0x7f fuses : 0 fna : 0x4 vwc : 0 awun : 65535 awupf : 0 icsvscc : 1 nwpc : 0 acwu : 0 ocfs : 0 sgls : 0xf0002 mnan : 0 maxdna : 0 maxcna : 0 subnqn : nqn.1994-11.com.samsung:nvme:PM1733:2.5-inch:S64VNE0R602271 ioccsz : 0 iorcsz : 0 icdoff : 0 fcatt : 0 msdbd : 0 ofcs : 0 ps 0 : mp:25.00W operational enlat:180 exlat:180 rrt:0 rrl:0 rwt:0 rwl:0 idle_power:7.00W active_power:20.00W
Thanks, Saeed
-- Pankaj
Can you send a patch with a new quirk that just disables the EUI64, but keeps the NGUID?
Hi Christoph, On Fri, Apr 14, 2023 at 07:12:59AM +0200, Christoph Hellwig wrote:
We had a discussion about this internally with our firmware team, and it looks like these firmware were given to specific customers based on mutual agreement. They are already in discussion with our firmware team regarding this.
I don't think this should go into as a generic quirk in Linux for these models.
On Tue, Aug 27, 2024 at 07:08:15PM +0000, Saeed Mirzamohammadi wrote:
Hi Pankaj/Samsung team,
Sorry for pulling up an old thread. Has this been fixed in the firmware? If not, we could fix this issue with quirk for now until it’s resolved on the firmware side.
Hi Saeed, As I said before, this was specifically requested by the customer. I would highly encourage you to get in touch with the firmware team in Samsung.
So I still don't think this should go as a generic quirk.
<snip>
linux-stable-mirror@lists.linaro.org