linux-nvme.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* add NVME_QUIRK_BOGUS_NID for Intel P4608
@ 2022-09-30 14:58 Neerav Kumar
  2022-09-30 15:07 ` Keith Busch
  0 siblings, 1 reply; 4+ messages in thread
From: Neerav Kumar @ 2022-09-30 14:58 UTC (permalink / raw)
  To: linux-nvme

Intel P4608 reports bogus eui64 non-unique values so apply the
namespace quirk to it too.


diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 9f6614f7dbeb..ed4002109122 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -3432,7 +3432,8 @@ static const struct pci_device_id nvme_id_table[] = {
     { PCI_VDEVICE(INTEL, 0x0a54),    /* Intel P4500/P4600 */
         .driver_data = NVME_QUIRK_STRIPE_SIZE |
                 NVME_QUIRK_DEALLOCATE_ZEROES |
-                NVME_QUIRK_IGNORE_DEV_SUBNQN, },
+                NVME_QUIRK_IGNORE_DEV_SUBNQN |
+                NVME_QUIRK_BOGUS_NID, },
     { PCI_VDEVICE(INTEL, 0x0a55),    /* Dell Express Flash P4600 */
         .driver_data = NVME_QUIRK_STRIPE_SIZE |
                 NVME_QUIRK_DEALLOCATE_ZEROES, },


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: add NVME_QUIRK_BOGUS_NID for Intel P4608
  2022-09-30 14:58 add NVME_QUIRK_BOGUS_NID for Intel P4608 Neerav Kumar
@ 2022-09-30 15:07 ` Keith Busch
  2022-09-30 15:13   ` Neerav Kumar
  0 siblings, 1 reply; 4+ messages in thread
From: Keith Busch @ 2022-09-30 15:07 UTC (permalink / raw)
  To: Neerav Kumar; +Cc: linux-nvme

On Fri, Sep 30, 2022 at 09:58:36AM -0500, Neerav Kumar wrote:
> Intel P4608 reports bogus eui64 non-unique values so apply the
> namespace quirk to it too.

Is this specific to the 4608 with its broken "2x4" pretending to be a 1x8, or
are all the 0a54 device id's similarly affected?

> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index 9f6614f7dbeb..ed4002109122 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -3432,7 +3432,8 @@ static const struct pci_device_id nvme_id_table[] = {
>      { PCI_VDEVICE(INTEL, 0x0a54),    /* Intel P4500/P4600 */
>          .driver_data = NVME_QUIRK_STRIPE_SIZE |
>                  NVME_QUIRK_DEALLOCATE_ZEROES |
> -                NVME_QUIRK_IGNORE_DEV_SUBNQN, },
> +                NVME_QUIRK_IGNORE_DEV_SUBNQN |
> +                NVME_QUIRK_BOGUS_NID, },
>      { PCI_VDEVICE(INTEL, 0x0a55),    /* Dell Express Flash P4600 */
>          .driver_data = NVME_QUIRK_STRIPE_SIZE |
>                  NVME_QUIRK_DEALLOCATE_ZEROES, },
> 


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: add NVME_QUIRK_BOGUS_NID for Intel P4608
  2022-09-30 15:07 ` Keith Busch
@ 2022-09-30 15:13   ` Neerav Kumar
  2022-09-30 16:14     ` Keith Busch
  0 siblings, 1 reply; 4+ messages in thread
From: Neerav Kumar @ 2022-09-30 15:13 UTC (permalink / raw)
  To: Keith Busch; +Cc: linux-nvme

 lspci -nn|grep NVM
09:00.0 Non-Volatile memory controller [0108]: Intel Corporation NVMe
Datacenter SSD [3DNAND, Beta Rock Controller] [8086:0a54]
0a:00.0 Non-Volatile memory controller [0108]: Intel Corporation NVMe
Datacenter SSD [3DNAND, Beta Rock Controller] [8086:0a54]

So, it seems to be the broken 2x4?
I only have access to a P4608 so I have not tested this on other
device ids, if there is a way to narrow down the patch to P4608 I
would be happy to do that.

On Fri, Sep 30, 2022 at 10:07 AM Keith Busch <kbusch@kernel.org> wrote:
>
> On Fri, Sep 30, 2022 at 09:58:36AM -0500, Neerav Kumar wrote:
> > Intel P4608 reports bogus eui64 non-unique values so apply the
> > namespace quirk to it too.
>
> Is this specific to the 4608 with its broken "2x4" pretending to be a 1x8, or
> are all the 0a54 device id's similarly affected?
>
> > diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> > index 9f6614f7dbeb..ed4002109122 100644
> > --- a/drivers/nvme/host/pci.c
> > +++ b/drivers/nvme/host/pci.c
> > @@ -3432,7 +3432,8 @@ static const struct pci_device_id nvme_id_table[] = {
> >      { PCI_VDEVICE(INTEL, 0x0a54),    /* Intel P4500/P4600 */
> >          .driver_data = NVME_QUIRK_STRIPE_SIZE |
> >                  NVME_QUIRK_DEALLOCATE_ZEROES |
> > -                NVME_QUIRK_IGNORE_DEV_SUBNQN, },
> > +                NVME_QUIRK_IGNORE_DEV_SUBNQN |
> > +                NVME_QUIRK_BOGUS_NID, },
> >      { PCI_VDEVICE(INTEL, 0x0a55),    /* Dell Express Flash P4600 */
> >          .driver_data = NVME_QUIRK_STRIPE_SIZE |
> >                  NVME_QUIRK_DEALLOCATE_ZEROES, },
> >


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: add NVME_QUIRK_BOGUS_NID for Intel P4608
  2022-09-30 15:13   ` Neerav Kumar
@ 2022-09-30 16:14     ` Keith Busch
  0 siblings, 0 replies; 4+ messages in thread
From: Keith Busch @ 2022-09-30 16:14 UTC (permalink / raw)
  To: Neerav Kumar; +Cc: linux-nvme

On Fri, Sep 30, 2022 at 10:13:04AM -0500, Neerav Kumar wrote:
>  lspci -nn|grep NVM
> 09:00.0 Non-Volatile memory controller [0108]: Intel Corporation NVMe
> Datacenter SSD [3DNAND, Beta Rock Controller] [8086:0a54]
> 0a:00.0 Non-Volatile memory controller [0108]: Intel Corporation NVMe
> Datacenter SSD [3DNAND, Beta Rock Controller] [8086:0a54]
> 
> So, it seems to be the broken 2x4?
> I only have access to a P4608 so I have not tested this on other
> device ids, if there is a way to narrow down the patch to P4608 I
> would be happy to do that.

Yeah, that looks like a 4608, but unless you have another one, or perhaps a
couple of regular 4600/4500's, I don't think we could know if all models suffer
the same problem. It might make sense duplicate identifiers was isolated to the
4608 within the same package since the intention (misguided as it may have
been) was that it appears as a single device instead of two.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-09-30 16:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-30 14:58 add NVME_QUIRK_BOGUS_NID for Intel P4608 Neerav Kumar
2022-09-30 15:07 ` Keith Busch
2022-09-30 15:13   ` Neerav Kumar
2022-09-30 16:14     ` Keith Busch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).