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 +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 +--- + 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 +