PCI: Disable AER with pci=nomsi
When booting with pci=nomsi aer causes lost interrupts and
lockdep inversions.
So check if MSIs are not disabled before initializing the aer
driver.
Signed-off-by: Andi Kleen <[email protected]>
---
drivers/pci/pcie/aer/aerdrv.c | 2 ++
1 file changed, 2 insertions(+)
Index: linux/drivers/pci/pcie/aer/aerdrv.c
===================================================================
--- linux.orig/drivers/pci/pcie/aer/aerdrv.c
+++ linux/drivers/pci/pcie/aer/aerdrv.c
@@ -316,6 +316,8 @@ static int __init aer_service_init(void)
{
if (pcie_aer_disable)
return -ENXIO;
+ if (!pci_msi_enabled())
+ return -ENXIO;
return pcie_port_service_register(&aerdriver);
}
On Wed, 16 Sep 2009 22:40:22 +0200
Andi Kleen <[email protected]> wrote:
> PCI: Disable AER with pci=nomsi
>
> When booting with pci=nomsi aer causes lost interrupts and
> lockdep inversions.
>
> So check if MSIs are not disabled before initializing the aer
> driver.
>
> Signed-off-by: Andi Kleen <[email protected]>
Applied to my linux-next tree for the next pull. Thanks.
--
Jesse Barnes, Intel Open Source Technology Center