diff options
Diffstat (limited to 'drivers/pci/pcie')
-rw-r--r-- | drivers/pci/pcie/aer/aerdrv.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/pci/pcie/aer/aerdrv.c b/drivers/pci/pcie/aer/aerdrv.c index ad90a01b0dfc..7a62f7dd9009 100644 --- a/drivers/pci/pcie/aer/aerdrv.c +++ b/drivers/pci/pcie/aer/aerdrv.c | |||
@@ -81,6 +81,13 @@ static struct pcie_port_service_driver aerdriver = { | |||
81 | .reset_link = aer_root_reset, | 81 | .reset_link = aer_root_reset, |
82 | }; | 82 | }; |
83 | 83 | ||
84 | static int pcie_aer_disable; | ||
85 | |||
86 | void pci_no_aer(void) | ||
87 | { | ||
88 | pcie_aer_disable = 1; /* has priority over 'forceload' */ | ||
89 | } | ||
90 | |||
84 | /** | 91 | /** |
85 | * aer_irq - Root Port's ISR | 92 | * aer_irq - Root Port's ISR |
86 | * @irq: IRQ assigned to Root Port | 93 | * @irq: IRQ assigned to Root Port |
@@ -327,6 +334,8 @@ static void aer_error_resume(struct pci_dev *dev) | |||
327 | **/ | 334 | **/ |
328 | static int __init aer_service_init(void) | 335 | static int __init aer_service_init(void) |
329 | { | 336 | { |
337 | if (pcie_aer_disable) | ||
338 | return -ENXIO; | ||
330 | return pcie_port_service_register(&aerdriver); | 339 | return pcie_port_service_register(&aerdriver); |
331 | } | 340 | } |
332 | 341 | ||