Message ID | 20230315223436.2857712-1-saeed.mirzamohammadi@oracle.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp163729wrt; Wed, 15 Mar 2023 15:48:14 -0700 (PDT) X-Google-Smtp-Source: AK7set/zzVHMRUrv1oIuzqhhL7afwSVoUp/A4w5N09ksJjoDn0rADhzeKI3qBPfAHzUj/n68FUBD X-Received: by 2002:a05:6a20:8e1b:b0:d4:c598:4716 with SMTP id y27-20020a056a208e1b00b000d4c5984716mr1804337pzj.48.1678920494451; Wed, 15 Mar 2023 15:48:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1678920494; cv=none; d=google.com; s=arc-20160816; b=GTi83wcxWhAP8APQuB4YfVqzi5MeZ9n2EV3bAGADiH5lYA5wKUrUeF+0RKfnfoqbux FsVce+Dxps2wDCAdN90hLg9BybA8S2K/xoH6ilqd/+TIyaBlPgdFDEU4I9FI8SGu0cWZ /DoxCTe4ZxMa5jROs1ezS0WSb8vkOeiydZHed4kVoRmstglJMJZnmeVqVfehvn4ps/bQ GliwOTMo4LUjwf1jVvTqzsGA2Xo6OZusrz9+YNuAMoU6xU7QTDhYfDuaI49xIjOgOvKP +uXnnZJjqeejmWhzA0l9v0uvwerBpt3orsFXKuyVDvbmMIehQE46LSG2nyyPYBAjAW2+ qhNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=BLJJy1+ZgwpNRd9swz3xcy/irzTsB/Fy3caGqVsf+bo=; b=oy0WzlY7gOXWyrNU5T7kWnATw59bPzFYxFZarKUgsl/eAl/ED3Xcr+bowatEiWum+T pkbzDpuQAPKrzwv2ELdFiRovSF9If6SfjwDwvJkiZwx61N1lCaRArndTjuufxTjhMXdr kjTyBHEJD3z5s/BuR3Cu7wEZ8vfn/1OX5Rs8NBNeYFc4fFipKnuwZDAe24o55Le3392p 1ccaOoemXtyFTNmzuWksr4m/TrpZtoTcEIoe99QiixE6IxLAZSo3Bi+02CTsi95Nn4c6 amhlew7M0KgAKooDYkE9p2OUyq8cQefrUb09kmj8Q47TMNdejXTc8yDWDxyBohLCPOpv YEOA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=cY3x5ZOW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k15-20020a6568cf000000b004fba8ec6a07si6025790pgt.544.2023.03.15.15.48.01; Wed, 15 Mar 2023 15:48:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=cY3x5ZOW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229769AbjCOWfd (ORCPT <rfc822;ruipengqi7@gmail.com> + 99 others); Wed, 15 Mar 2023 18:35:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53320 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230283AbjCOWf3 (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Wed, 15 Mar 2023 18:35:29 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7BE3019C70; Wed, 15 Mar 2023 15:35:28 -0700 (PDT) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32FMIaDt012449; Wed, 15 Mar 2023 22:35:10 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding; s=corp-2022-7-12; bh=BLJJy1+ZgwpNRd9swz3xcy/irzTsB/Fy3caGqVsf+bo=; b=cY3x5ZOWY+3lie5X/xtgZRXu/WcBc+CEjhYemSws5LlIjFnbuEMz4DOGPeDeyFpe67/4 jIrJsvYSC9RSyu6lc6sgPXVlfQjy22UaLc/MDd1s/ZcklcYwNR34K68fXx9zKTh006nn MgHCnVmEuGjshSt++1NwTziH0DFH8ENruyi7z+wp1qoFg5Ibe6hnWfTA3SSvKfCt/fIQ wC5sYfC1hDKJPdva/Z+Vxo1qzS6AWOpepZZmWF4r9MEod8azp2nDe1IXMXHbvVg0jQSY Rk1fOpi8XPs3UPFxJ+AauCM/nkI0FQrafxlH0xHL07g36pRDp7ZNozyLPqY+y9L0F2Tk tQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pbp4q0297-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 15 Mar 2023 22:35:09 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 32FLwQIL033432; Wed, 15 Mar 2023 22:35:09 GMT Received: from pps.reinject (localhost [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3pbpde96dy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 15 Mar 2023 22:35:09 +0000 Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 32FMZ8a5020420; Wed, 15 Mar 2023 22:35:08 GMT Received: from ca-dev112.us.oracle.com (ca-dev112.us.oracle.com [10.129.136.47]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTP id 3pbpde96dj-1; Wed, 15 Mar 2023 22:35:08 +0000 From: Saeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com> To: stable@vger.kernel.org Cc: saeed.mirzamohammadi@oracle.com, Keith Busch <kbusch@kernel.org>, Jens Axboe <axboe@fb.com>, Christoph Hellwig <hch@lst.de>, Sagi Grimberg <sagi@grimberg.me>, linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/1] nvme-pci: add NVME_QUIRK_BOGUS_NID for Samsung PM173X Date: Wed, 15 Mar 2023 15:34:36 -0700 Message-Id: <20230315223436.2857712-1-saeed.mirzamohammadi@oracle.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-15_12,2023-03-15_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 mlxscore=0 phishscore=0 mlxlogscore=999 malwarescore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303150001 definitions=main-2303150184 X-Proofpoint-GUID: KZ1i8VvTwu8FNn7ESSBIxWJoDwD4WcPy X-Proofpoint-ORIG-GUID: KZ1i8VvTwu8FNn7ESSBIxWJoDwD4WcPy X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1760475736401698150?= X-GMAIL-MSGID: =?utf-8?q?1760475736401698150?= |
Series |
[1/1] nvme-pci: add NVME_QUIRK_BOGUS_NID for Samsung PM173X
|
|
Commit Message
Saeed Mirzamohammadi
March 15, 2023, 10:34 p.m. UTC
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(+)
Comments
On 3/15/23 15:34, 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. > > Cc: <stable@vger.kernel.org> > Signed-off-by: Saeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com> > --- 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, > On Mar 15, 2023, at 10:15 PM, Christoph Hellwig <hch@lst.de> wrote: > > 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? 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: > > 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 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: > 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? 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. > On Mar 17, 2023, at 4:10 AM, Pankaj Raghav <p.raghav@samsung.com> wrote: > > Hi Saeed, > On Thu, Mar 16, 2023 at 09:31:38PM +0000, Saeed Mirzamohammadi wrote: >> 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? > > 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. 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
On 2023-03-17 17:26, Saeed Mirzamohammadi wrote: >> Hi Saeed, >> On Thu, Mar 16, 2023 at 09:31:38PM +0000, Saeed Mirzamohammadi wrote: >>> 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? >> >> 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. > > NVME Identify Controller: > vid : 0x144d > ssvid : 0x108e > sn : S64VNE0R602271 > mn : SAMSUNG MZWLR3T8HBLS-00AU3 > fr : MPK94R5Q We have reported this error to our firmware team. I will keep you posted. -- Pankaj
Can you send a patch with a new quirk that just disables the EUI64, but keeps the NGUID?
On Tue, Mar 21, 2023 at 02:26:04PM +0100, Christoph Hellwig wrote: > Can you send a patch with a new quirk that just disables the EUI64, > but keeps the NGUID? Did this go anywhere?
Hi Christoph, On Fri, Apr 14, 2023 at 07:12:59AM +0200, Christoph Hellwig wrote: > On Tue, Mar 21, 2023 at 02:26:04PM +0100, Christoph Hellwig wrote: > > Can you send a patch with a new quirk that just disables the EUI64, > > but keeps the NGUID? > > Did this go anywhere? 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.
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 */