Bug 217649

Summary: Need NVME_QUIRK_BOGUS_NID for SAMSUNG MZAL41T0HBLB-00BL2 (PM9B1 1TB)
Product: IO/Storage Reporter: Gwen (bugzilla)
Component: NVMeAssignee: IO/NVME Virtual Default Assignee (io_nvme)
Status: NEW ---    
Severity: normal CC: damian.senn, git
Priority: P3    
Hardware: All   
OS: Linux   
Kernel Version: Subsystem:
Regression: No Bisected commit-id:

Description Gwen 2023-07-09 19:23:05 UTC
As with numerous NVMe controllers these days, Samsung's MZAL41T0HBLB-00BL2, which Lenovo builds into their 16ARP8 also suffers from invalid IDs, breaking suspend and hibernate also on the latest kernel 6.4.2.

The following change restores this functionality:

File: root/drivers/nvme/host/pci.c
Change:

-	{ PCI_DEVICE(0x144d, 0xa80b),   /* Samsung PM9B1 256G and 512G */
-		.driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, },

+	{ PCI_DEVICE(0x144d, 0xa80b),   /* Samsung PM9B1 256G, 512G and 1TB */
+		.driver_data = NVME_QUIRK_BOGUS_NID |
+				NVME_QUIRK_DISABLE_WRITE_ZEROES, },

Please send a patch for this.
Comment 2 August Wikerfors 2023-07-31 19:19:37 UTC
Proposed patch that fixes this suspend issue more generally: https://lore.kernel.org/all/20230731185103.18436-1-mario.limonciello@amd.com/
Comment 3 August Wikerfors 2023-08-16 17:15:10 UTC
(In reply to August Wikerfors from comment #2)
> Proposed patch that fixes this suspend issue more generally:
> https://lore.kernel.org/all/20230731185103.18436-1-mario.limonciello@amd.com/

This was rejected due to concerns that it could cause data corruption for other devices, however the quirk patch was applied instead and released as part of 6.5-rc6, 6.4.11 and 6.1.46
Comment 4 Gwen 2023-08-19 11:25:40 UTC
This is great news, thank you all for working on this. So I'll just have to wait for 6.1.46 to land on Debian bookworm to revert to the stock kernel.