2022-06-25 12:49:29

by Pablo Greco

[permalink] [raw]
Subject: [PATCH v2] nvme-pci: add NVME_QUIRK_BOGUS_NID for ADATA XPG SX6000LNP (AKA SPECTRIX S40G)

ADATA XPG SPECTRIX S40G drives report bogus eui64 values that appear to
be the same across drives in one system. Quirk them out so they are
not marked as "non globally unique" duplicates.

Before:
[ 2.258919] nvme nvme1: pci function 0000:06:00.0
[ 2.264898] nvme nvme2: pci function 0000:05:00.0
[ 2.323235] nvme nvme1: failed to set APST feature (2)
[ 2.326153] nvme nvme2: failed to set APST feature (2)
[ 2.333935] nvme nvme1: allocated 64 MiB host memory buffer.
[ 2.336492] nvme nvme2: allocated 64 MiB host memory buffer.
[ 2.339611] nvme nvme1: 7/0/0 default/read/poll queues
[ 2.341805] nvme nvme2: 7/0/0 default/read/poll queues
[ 2.346114] nvme1n1: p1
[ 2.347197] nvme nvme2: globally duplicate IDs for nsid 1
After:
[ 2.427715] nvme nvme1: pci function 0000:06:00.0
[ 2.427771] nvme nvme2: pci function 0000:05:00.0
[ 2.488154] nvme nvme2: failed to set APST feature (2)
[ 2.489895] nvme nvme1: failed to set APST feature (2)
[ 2.498773] nvme nvme2: allocated 64 MiB host memory buffer.
[ 2.500587] nvme nvme1: allocated 64 MiB host memory buffer.
[ 2.504113] nvme nvme2: 7/0/0 default/read/poll queues
[ 2.507026] nvme nvme1: 7/0/0 default/read/poll queues
[ 2.509467] nvme nvme2: Ignoring bogus Namespace Identifiers
[ 2.512804] nvme nvme1: Ignoring bogus Namespace Identifiers
[ 2.513698] nvme1n1: p1

Signed-off-by: Pablo Greco <[email protected]>
Cc: <[email protected]>
---
drivers/nvme/host/pci.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index d7b24ee17285..c9ebe6072498 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -3470,7 +3470,8 @@ static const struct pci_device_id nvme_id_table[] = {
.driver_data = NVME_QUIRK_NO_NS_DESC_LIST |
NVME_QUIRK_IGNORE_DEV_SUBNQN, },
{ PCI_DEVICE(0x10ec, 0x5762), /* ADATA SX6000LNP */
- .driver_data = NVME_QUIRK_IGNORE_DEV_SUBNQN, },
+ .driver_data = NVME_QUIRK_IGNORE_DEV_SUBNQN |
+ NVME_QUIRK_BOGUS_NID, },
{ PCI_DEVICE(0x1cc1, 0x8201), /* ADATA SX8200PNP 512GB */
.driver_data = NVME_QUIRK_NO_DEEPEST_PS |
NVME_QUIRK_IGNORE_DEV_SUBNQN, },
--
2.36.1


2022-06-27 20:54:47

by Chaitanya Kulkarni

[permalink] [raw]
Subject: Re: [PATCH v2] nvme-pci: add NVME_QUIRK_BOGUS_NID for ADATA XPG SX6000LNP (AKA SPECTRIX S40G)

On 6/25/22 05:15, Pablo Greco wrote:
> ADATA XPG SPECTRIX S40G drives report bogus eui64 values that appear to
> be the same across drives in one system. Quirk them out so they are
> not marked as "non globally unique" duplicates.
>

Can be written with moving "not" to the 2nd line, if anyone cares :-

ADATA XPG SPECTRIX S40G drives report bogus eui64 values that appear to
be the same across drives in one system. Quirk them out so they are not
marked as "non globally unique" duplicates.

> Before:
> [ 2.258919] nvme nvme1: pci function 0000:06:00.0
> [ 2.264898] nvme nvme2: pci function 0000:05:00.0
> [ 2.323235] nvme nvme1: failed to set APST feature (2)
> [ 2.326153] nvme nvme2: failed to set APST feature (2)
> [ 2.333935] nvme nvme1: allocated 64 MiB host memory buffer.
> [ 2.336492] nvme nvme2: allocated 64 MiB host memory buffer.
> [ 2.339611] nvme nvme1: 7/0/0 default/read/poll queues
> [ 2.341805] nvme nvme2: 7/0/0 default/read/poll queues
> [ 2.346114] nvme1n1: p1
> [ 2.347197] nvme nvme2: globally duplicate IDs for nsid 1
> After:
> [ 2.427715] nvme nvme1: pci function 0000:06:00.0
> [ 2.427771] nvme nvme2: pci function 0000:05:00.0
> [ 2.488154] nvme nvme2: failed to set APST feature (2)
> [ 2.489895] nvme nvme1: failed to set APST feature (2)
> [ 2.498773] nvme nvme2: allocated 64 MiB host memory buffer.
> [ 2.500587] nvme nvme1: allocated 64 MiB host memory buffer.
> [ 2.504113] nvme nvme2: 7/0/0 default/read/poll queues
> [ 2.507026] nvme nvme1: 7/0/0 default/read/poll queues
> [ 2.509467] nvme nvme2: Ignoring bogus Namespace Identifiers
> [ 2.512804] nvme nvme1: Ignoring bogus Namespace Identifiers
> [ 2.513698] nvme1n1: p1
>
> Signed-off-by: Pablo Greco <[email protected]>
> Cc: <[email protected]>
> ---

Looks good.

Reviewed-by: Chaitanya Kulkarni <[email protected]>

-ck


2022-06-27 21:13:00

by Keith Busch

[permalink] [raw]
Subject: Re: [PATCH v2] nvme-pci: add NVME_QUIRK_BOGUS_NID for ADATA XPG SX6000LNP (AKA SPECTRIX S40G)

On Sat, Jun 25, 2022 at 09:15:02AM -0300, Pablo Greco wrote:
> ADATA XPG SPECTRIX S40G drives report bogus eui64 values that appear to
> be the same across drives in one system. Quirk them out so they are
> not marked as "non globally unique" duplicates.

Looks fine.

Reviewed-by: Keith Busch <[email protected]>