And both of your machines have the pcie root port
8086:2030/8086:2031/8086:2032 for nvme disks, maybe the problem is only
for the combination of (this root port + this nvme disk)?
I will build a test10 kernel with:
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 29883525b1a2..21837434b994 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -1241,7 +1241,10 @@ static void pci_enable_crs(struct pci_dev *pdev)
if (root_cap & PCI_EXP_RTCAP_CRSVIS) {
pcie_capability_set_word(pdev, PCI_EXP_RTCTL,
PCI_EXP_RTCTL_CRSSVE);
- pdev->config_crs_sv = 1;
+
+ if (!(pdev->dev_flags & PCI_DEV_FLAGS_NO_RRS_SV))
+ pdev->config_crs_sv = 1;
}
}
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index c29684acf50d..696ec1ba2ab0 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -6298,3 +6298,21 @@ static void pci_fixup_d3cold_delay_1sec(struct pci_dev
*pdev)
pdev->d3cold_delay = 1000;
}
DECLARE_PCI_FIXUP_FINAL(0x5555, 0x0004, pci_fixup_d3cold_delay_1sec);
+
+static void quirk_no_ssr_sv(struct pci_dev *dev)
+{
+ struct pci_dev *root;
+
+ root = pcie_find_root_port(dev);
+ if (root) {
+ root->dev_flags |= PCI_DEV_FLAGS_NO_RRS_SV;
+ root->config_crs_sv = 0;
+ }
+}
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x0a54, quirk_no_ssr_sv);
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 4716a8ab9130..42ad62f0f3e3 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -245,6 +245,8 @@ enum pci_dev_flags {
PCI_DEV_FLAGS_NO_RELAXED_ORDERING = (__force pci_dev_flags_t) (1 << 11),
/* Device does honor MSI masking despite saying otherwise */
PCI_DEV_FLAGS_HAS_MSI_MASKING = (__force pci_dev_flags_t) (1 << 12),
+ /* Do not use Configuration Request Retry Status polling in
pci_dev_wait() */
+ PCI_DEV_FLAGS_NO_RRS_SV = (__force pci_dev_flags_t) (1 << 13),
};
enum pci_irq_reroute_variant {
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/2111521
Title:
nvme no longer detected on boot after upgrade to 6.8.0-60
Status in linux package in Ubuntu:
Triaged
Bug description:
Short version: booting 6.8.0-59-generic or any earlier version from
the grub menu works; 6.8.0-60-generic dumps me at the initramfs prompt
with no disks.
We have some servers running Ubuntu 24.04.2 LTS. They have NVME
solid-state disks which (in a working kernel) are detected as follows:
[ 3.537968] nvme nvme0: pci function 10000:01:00.0
[ 3.539285] nvme 10000:01:00.0: PCI INT A: no GSI
[ 5.897819] nvme nvme0: 32/0/0 default/read/poll queues
[ 5.905451] nvme nvme0: Ignoring bogus Namespace Identifiers
[ 5.909057] nvme0n1: p1 p2 p3
On the PCI bus they look like this:
10000:01:00.0 Non-Volatile memory controller [0108]: Intel Corporation NVMe
Datacenter SSD [3DNAND, Beta Rock Controller] [8086:0a54]
$ ls -l /sys/class/nvme/nvme0
lrwxrwxrwx 1 root root 0 May 22 16:56 /sys/class/nvme/nvme0 ->
../../devices/pci0000:d7/0000:d7:05.5/pci10000:00/10000:00:02.0/10000:01:00.0/nvme/nvme0
Four identical servers updated their kernel this morning to:
ii linux-image-6.8.0-60-generic 6.8.0-60.63 amd64 Signed kernel
image generic
...and rebooted. All four failed to come up and ended up at the
(initramfs) prompt. Rebooting and selecting 6.8.0-59-generic from the
grub menu allowed them to boot as normal.
There is no sign that the initramfs generation went wrong (on all four
servers) and the initramfs does contain all the same nvme modules for
-60 that the one for -59 does. I am at a loss to explain this, and
the initramfs environment is a bit limited for debugging.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2111521/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp