Bug 217593

Summary: Need NVME QUIRK BOGUS for SAMSUNG MZ1WV480HCGL-000MV (Samsung SM-953 Datacenter SSD)
Product: IO/Storage Reporter: Clemens S. (cspringsguth)
Component: NVMeAssignee: IO/NVME Virtual Default Assignee (io_nvme)
Status: NEW ---    
Severity: normal CC: bagasdotme, cspringsguth
Priority: P3    
Hardware: All   
OS: Linux   
Kernel Version: Subsystem:
Regression: No Bisected commit-id:

Description Clemens S. 2023-06-25 08:05:15 UTC
Hello,
since upgrading one of my hosts to KErnel 6.2 i have a problem with 6 nvme disks (SAMSUNG MZ1WV480HCGL-000MV).

This problem didn't occur with Kernel 5.15.

Here is log from dmesg | grep nvme:

nvme nvme0: pci function 0000:04:00.0                                                                                                                                                                                                                                                                                         
nvme nvme1: pci function 0000:05:00.0                                                                                                                                                                                                                                                                                         
nvme nvme2: pci function 0000:06:00.0                                                                                                                                                                                                                                                                                         
nvme nvme3: pci function 0000:07:00.0                                                                                                                                                                                                                                                                                         
nvme nvme4: pci function 0000:0a:00.0                                                                                                                                                                                                                                                                                         
nvme nvme5: pci function 0000:0b:00.0                                                                                                                                                                                                                                                                                         
nvme nvme0: 8/0/0 default/read/poll queues                                                                                                                                                                                                                                                                                    
nvme nvme1: 8/0/0 default/read/poll queues                                                                                                                                                                                                                                                                                    
nvme nvme2: 8/0/0 default/read/poll queues                                                                                                                                                                                                                                                                                    
nvme nvme3: 8/0/0 default/read/poll queues                                                                                                                                                                                                                                                                                    
nvme nvme4: 8/0/0 default/read/poll queues                                                                                                                                                                                                                                                                                    
nvme nvme5: 8/0/0 default/read/poll queues                                                                                                                                                                                                                                                                                    
nvme nvme1: globally duplicate IDs for nsid 1                                                                                                                                                                                                                                                                                 
nvme nvme1: VID:DID 144d:a802 model:SAMSUNG MZ1WV480HCGL-000MV firmware:BXU87M9Q                                                                                                                                                                                                                                              
nvme nvme2: globally duplicate IDs for nsid 1                                                                                                                                                                                                                                                                                 
nvme nvme2: VID:DID 144d:a802 model:SAMSUNG MZ1WV480HCGL-000MV firmware:BXU87M9Q                                                                                                                                                                                                                                              
nvme nvme4: globally duplicate IDs for nsid 1                                                                                                                                                                                                                                                                                 
nvme nvme3: globally duplicate IDs for nsid 1                                                                                                                                                                                                                                                                                 
nvme nvme4: VID:DID 144d:a802 model:SAMSUNG MZ1WV480HCGL-000MV firmware:BXU87M9Q                                                                                                                                                                                                                                              
nvme nvme3: VID:DID 144d:a802 model:SAMSUNG MZ1WV480HCGL-000MV firmware:BXU87M9Q                                                                                                                                                                                                                                              
nvme nvme5: globally duplicate IDs for nsid 1                                                                                                                                                                                                                                                                                 
nvme nvme5: VID:DID 144d:a802 model:SAMSUNG MZ1WV480HCGL-000MV firmware:BXU87M9Q                                                                                                                                                                                                                                              
nvme0n1: p1 p9                           

Only one drive, out of 6 is usable.

These drives are rather common datacenter drives (Samsung SM-953).

From another Bug-Report (https://bugzilla.kernel.org/show_bug.cgi?id=217384):

To fix it, please add two strings in pci.c

{ PCI_DEVICE(0x144d, 0xa802), /* SAMSUNG MZ1WV480HCGL-000MV  */
.driver_data = NVME_QUIRK_BOGUS_NID, },

Thanks in advance.
Comment 1 Bagas Sanjaya 2023-06-25 12:30:19 UTC
(In reply to Clemens S. from comment #0)
> Hello,
> since upgrading one of my hosts to KErnel 6.2 i have a problem with 6 nvme
> disks (SAMSUNG MZ1WV480HCGL-000MV).
> 
> This problem didn't occur with Kernel 5.15.
> 
> Here is log from dmesg | grep nvme:
> 
> nvme nvme0: pci function 0000:04:00.0                                       
> 
> nvme nvme1: pci function 0000:05:00.0                                       
> 
> nvme nvme2: pci function 0000:06:00.0                                       
> 
> nvme nvme3: pci function 0000:07:00.0                                       
> 
> nvme nvme4: pci function 0000:0a:00.0                                       
> 
> nvme nvme5: pci function 0000:0b:00.0                                       
> 
> nvme nvme0: 8/0/0 default/read/poll queues                                  
> 
> nvme nvme1: 8/0/0 default/read/poll queues                                  
> 
> nvme nvme2: 8/0/0 default/read/poll queues                                  
> 
> nvme nvme3: 8/0/0 default/read/poll queues                                  
> 
> nvme nvme4: 8/0/0 default/read/poll queues                                  
> 
> nvme nvme5: 8/0/0 default/read/poll queues                                  
> 
> nvme nvme1: globally duplicate IDs for nsid 1                               
> 
> nvme nvme1: VID:DID 144d:a802 model:SAMSUNG MZ1WV480HCGL-000MV
> firmware:BXU87M9Q                                                           
> 
> nvme nvme2: globally duplicate IDs for nsid 1                               
> 
> nvme nvme2: VID:DID 144d:a802 model:SAMSUNG MZ1WV480HCGL-000MV
> firmware:BXU87M9Q                                                           
> 
> nvme nvme4: globally duplicate IDs for nsid 1                               
> 
> nvme nvme3: globally duplicate IDs for nsid 1                               
> 
> nvme nvme4: VID:DID 144d:a802 model:SAMSUNG MZ1WV480HCGL-000MV
> firmware:BXU87M9Q                                                           
> 
> nvme nvme3: VID:DID 144d:a802 model:SAMSUNG MZ1WV480HCGL-000MV
> firmware:BXU87M9Q                                                           
> 
> nvme nvme5: globally duplicate IDs for nsid 1                               
> 
> nvme nvme5: VID:DID 144d:a802 model:SAMSUNG MZ1WV480HCGL-000MV
> firmware:BXU87M9Q                                                           
> 
> nvme0n1: p1 p9                           
> 
> Only one drive, out of 6 is usable.
> 
> These drives are rather common datacenter drives (Samsung SM-953).
> 
> From another Bug-Report (https://bugzilla.kernel.org/show_bug.cgi?id=217384):
> 
> To fix it, please add two strings in pci.c
> 
> { PCI_DEVICE(0x144d, 0xa802), /* SAMSUNG MZ1WV480HCGL-000MV  */
> .driver_data = NVME_QUIRK_BOGUS_NID, },
> 
> Thanks in advance.

Can you perform bisection to find the first commit that require above quirk?
Comment 2 Clemens S. 2023-06-25 14:04:08 UTC
According to Bug 216049 ( https://bugzilla.kernel.org/show_bug.cgi?id=216049 ) the check was added in Kernel 5.18 ( https://elixir.bootlin.com/linux/v5.18/source/drivers/nvme/host/core.c#L3806 ).