summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjorn Helgaas <bhelgaas@google.com>2026-04-13 12:50:02 -0500
committerBjorn Helgaas <bhelgaas@google.com>2026-04-13 12:50:02 -0500
commite27c43d59475e5f941029ea8295b220acb2a0499 (patch)
tree676479fe0fb9f8c2a0e1fc605a2f5609f0f90bd9
parent31e39c9ae1320c84a3b50fe489d7a3c75fedbbbc (diff)
parent97970e7c694356e3386a10e3b936d61eafd06bce (diff)
downloadlwn-e27c43d59475e5f941029ea8295b220acb2a0499.tar.gz
lwn-e27c43d59475e5f941029ea8295b220acb2a0499.zip
Merge branch 'pci/dpc'
- Hold a pci_dev reference during error recovery (Sizhe Liu) - Initialize ratelimit info so DPC and EDR paths log AER error information (Kuppuswamy Sathyanarayanan) * pci/dpc: PCI/DPC: Log AER error info for DPC/EDR uncorrectable errors PCI/DPC: Hold pci_dev reference during error recovery
-rw-r--r--drivers/pci/pcie/dpc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/pci/pcie/dpc.c b/drivers/pci/pcie/dpc.c
index fc18349614d7..2b779bd1d861 100644
--- a/drivers/pci/pcie/dpc.c
+++ b/drivers/pci/pcie/dpc.c
@@ -256,6 +256,7 @@ static int dpc_get_aer_uncorrect_severity(struct pci_dev *dev,
info->dev[0] = dev;
info->error_dev_num = 1;
+ info->ratelimit_print[0] = 1;
return 1;
}
@@ -372,11 +373,13 @@ static irqreturn_t dpc_handler(int irq, void *context)
return IRQ_HANDLED;
}
+ pci_dev_get(pdev);
dpc_process_error(pdev);
/* We configure DPC so it only triggers on ERR_FATAL */
pcie_do_recovery(pdev, pci_channel_io_frozen, dpc_reset_link);
+ pci_dev_put(pdev);
return IRQ_HANDLED;
}