Intel P4608 (Oracle f640) doesn't show both NVMe devices. globally duplicate IDs for nsid

Keith Busch kbusch at kernel.org
Wed Mar 29 08:36:43 PDT 2023


On Wed, Mar 29, 2023 at 12:36:23PM +0200, Olav Gjerde wrote:
> Hi,
> 
> I just upgraded to debian-testing which runs Linux 6.1 on a machine
> here and I have trouble with my NVME card which has two NVMe drives. I
> find the following error message in
> dmesg: nvme nvme2: globally duplicate IDs for nsid 1
> 
> I googled this error message and came over the explanation here:
> https://bugzilla.kernel.org/show_bug.cgi?id=216049
> 
> lspci returns this,
> 
> 87:00.0 Non-Volatile memory controller [0108]: Intel Corporation NVMe
> Datacenter SSD [3DNAND, Beta Rock Controller] [8086:0a54]
> 88:00.0 Non-Volatile memory controller [0108]: Intel Corporation NVMe
> Datacenter SSD [3DNAND, Beta Rock Controller] [8086:0a54]
> 
> I have checked the master source code, and I see no changes recently,
> so my guess is that the fix is adding NVME_QUIRK_BOGUS_NID
> to the following section:
> { PCI_VDEVICE(INTEL, 0x0a54), /* Intel P4500/P4600 */
>      .driver_data = NVME_QUIRK_STRIPE_SIZE |
>      NVME_QUIRK_DEALLOCATE_ZEROES |
>       NVME_QUIRK_IGNORE_DEV_SUBNQN, },
> 
> in drivers/nvme/host/pci.c

Yeah, NVME_QUIRK_BOGUS_NID is needed. The only problem is this particular model
shares the same VID:DID as the 4500/4600 that do not have this problem. I guess
none of them get to use those features...



More information about the Linux-nvme mailing list