summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/coreboot/next/patches/0010-dell-3050micro-disable-nvme-hotplug.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/config/coreboot/next/patches/0010-dell-3050micro-disable-nvme-hotplug.patch b/config/coreboot/next/patches/0010-dell-3050micro-disable-nvme-hotplug.patch
new file mode 100644
index 00000000..0408d114
--- /dev/null
+++ b/config/coreboot/next/patches/0010-dell-3050micro-disable-nvme-hotplug.patch
@@ -0,0 +1,57 @@
+From adfeaeabcf98878814b463f14aba7871721d7606 Mon Sep 17 00:00:00 2001
+From: Leah Rowe <info@minifree.org>
+Date: Wed, 11 Dec 2024 01:06:01 +0000
+Subject: [PATCH 1/1] dell/3050micro: disable nvme hotplug
+
+in my testing, when running my 3050micro for a few days,
+the nvme would sometimes randomly rename.
+
+e.g. nvme0n1 renamed to nvme0n2
+
+this might cause crashes in linux, if booting only from the
+nvme. in my case, i was booting from mdraid (sata+nvme) and
+every few days, the nvme would rename at least once, causing
+my RAID to become unsynced. since i'm using RAID1, this was
+OK and I could simply re-sync the array, but this is quite
+precarious indeed. if you're using raid0, that will potentially
+corrupt your RAID array indefinitely.
+
+this same issue manifested on the T480/T480 thinkpads, and
+S3 resume would break because of that, when booting from nvme,
+because the nvme would be "unplugged" and appear to linux as a
+new device (the one that you booted from).
+
+the fix there was to disable hotplugging on that pci-e slot
+for the nvme, so apply the same fix here for 3050 micro
+
+Signed-off-by: Leah Rowe <info@minifree.org>
+---
+ 3rdparty/vboot | 2 +-
+ src/mainboard/dell/optiplex_3050/devicetree.cb | 4 +++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/3rdparty/vboot b/3rdparty/vboot
+index f1f70f46dc..902fe8af96 160000
+--- a/3rdparty/vboot
++++ b/3rdparty/vboot
+@@ -1 +1 @@
+-Subproject commit f1f70f46dc5482bb7c654e53ed58d4001e386df2
++Subproject commit 902fe8af96ad662fac127cb8f51596491cf8272f
+diff --git a/src/mainboard/dell/optiplex_3050/devicetree.cb b/src/mainboard/dell/optiplex_3050/devicetree.cb
+index 039709aa4a..0678ed1765 100644
+--- a/src/mainboard/dell/optiplex_3050/devicetree.cb
++++ b/src/mainboard/dell/optiplex_3050/devicetree.cb
+@@ -45,7 +45,9 @@ chip soc/intel/skylake
+ register "PcieRpAdvancedErrorReporting[20]" = "1"
+ register "PcieRpLtrEnable[20]" = "1"
+ register "PcieRpClkSrcNumber[20]" = "3"
+- register "PcieRpHotPlug[20]" = "1"
++# disable hotplug on nvme to prevent renaming e.g. nvme0n1 rename to nvme0n2,
++# which could cause crashes in linux if booting from nvme
++ register "PcieRpHotPlug[20]" = "0"
+ end
+
+ # Realtek LAN
+--
+2.39.5
+