Re: [6.12.y regression] Regression with 58130e7ce6cb ("PCI/ERR: Ensure error recoverability at all times"): echo vfio-pci >driver_override does not work for DVB Adapter
From: Lukas Wunner
Date: Tue Mar 31 2026 - 09:16:18 EST
On Tue, Mar 31, 2026 at 03:09:34PM +0200, Lukas Wunner wrote:
> Below is a small debug patch. Could you apply that on top of v6.12.73
> (or newer) and provide me with the resulting full dmesg output?
Sorry, here's the patch:
-- >8 --
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 963436edea1c..53c5f23b4290 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -1827,6 +1827,8 @@ int pci_save_state(struct pci_dev *dev)
{
int i;
/* XXX: 100% dword access ok here? */
+ if (dev->bus->number == 0x07)
+ dump_stack();
for (i = 0; i < 16; i++) {
pci_read_config_dword(dev, i * 4, &dev->saved_config_space[i]);
pci_dbg(dev, "save config %#04x: %#010x\n",
@@ -1887,6 +1889,9 @@ static void pci_restore_config_space_range(struct pci_dev *pdev,
static void pci_restore_config_space(struct pci_dev *pdev)
{
+ if (pdev->bus->number == 0x07)
+ dump_stack();
+
if (pdev->hdr_type == PCI_HEADER_TYPE_NORMAL) {
pci_restore_config_space_range(pdev, 10, 15, 0, false);
/* Restore BARs before the command register. */
diff --git a/drivers/pci/setup-res.c b/drivers/pci/setup-res.c
index c6d933ddfd46..cbcf185578ac 100644
--- a/drivers/pci/setup-res.c
+++ b/drivers/pci/setup-res.c
@@ -363,6 +363,7 @@ int pci_assign_resource(struct pci_dev *dev, int resno)
res->flags &= ~IORESOURCE_UNSET;
res->flags &= ~IORESOURCE_STARTALIGN;
pci_info(dev, "%s %pR: assigned\n", res_name, res);
+ dump_stack();
if (resno < PCI_BRIDGE_RESOURCES)
pci_update_resource(dev, resno);