Nvme APST Quirk

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

 

Apologies if this is the incorrect medium in which to send patches.

 

There is a significant issue with the apst code that has been merged for the nvme driver under kernels >= 4.11 . The issue impacts some versions of Samsung’s firmware on sm961/pm961 and 960 nvme drives. The issue causes the drive to go into ‘deep sleep’ without warning and no way of bringing the interface back up.

 

Historically this issue has been reported against specific dell hardware and there has been a hunk of code to check for the presence of that hardware before calling NVME_QUIRK_NO_DEEPEST_PS. However I can confirm that with nvme apst support merged this issue arises with multiple mainboards. This is a critical issue because it can result in data loss, the way in which the issue manifests does not alert the user to the fact that the drive has dropped off.
 
There is however an extremely simple fix – just call the NVME_QUIRK_NO_DEEPEST_PS quirk unconditionally with this hardware.
 
From: Dominic Robinson <github@xxxxxxxxxx>
Date: Fri, 1 Sep 2017 15:38:44 +0100
Subject: Turn off deepest power saving mode for pm961 drives
diff -aurN a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
--- a/drivers/nvme/host/pci.c  2017-07-03 00:07:02.000000000 +0100
+++ b/drivers/nvme/host/pci.c  2017-09-01 15:38:44.041550898 +0100
@@ -2302,6 +2302,8 @@
               .driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY, },
        { PCI_DEVICE(0x1c5f, 0x0540),  /* Memblaze Pblaze4 adapter */
               .driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY, },
+       { PCI_DEVICE(0x144d, 0xa804),  /* Samsung pm961 */
+              .driver_data = NVME_QUIRK_NO_DEEPEST_PS, },
        { PCI_DEVICE_CLASS(PCI_CLASS_STORAGE_EXPRESS, 0xffffff) },
        { PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2001) },
        { PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2003) },
 
I have already filed a bug report – not getting a response:
https://bugzilla.redhat.com/show_bug.cgi?id=1487421 
 

I can confirm this patch works – I’d really like to get it merged, as of right now there are no available kernels in Fedora 26 that are immune to this issue.

 

Kind Regards,

Dominic Robinson

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux