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.
See also: https://lore.kernel.org/all/d0ce0f3b-9407-9207-73a4-3536f0948653@augustwikerfors.se/ https://lore.kernel.org/all/20221116171727.4083-1-git@augustwikerfors.se/t/ https://lore.kernel.org/all/b99a5149-c3d6-2a9b-1298-576a1b4b22c1@gmail.com/t/ https://github.com/tomsom/yoga-linux/issues/9 https://github.com/fwupd/firmware-lenovo/issues/308 https://forums.lenovo.com/topic/findpost/27/5196929/5984302
Proposed patch that fixes this suspend issue more generally: https://lore.kernel.org/all/20230731185103.18436-1-mario.limonciello@amd.com/
(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
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.