Thread (1 message) 1 message, 1 author, 2010-08-03

Re: [PATCH 2/8] PCI / PCIe/ AER: Introduce pci_aer_available()

From: Rafael J. Wysocki <hidden>
Date: 2010-08-03 09:28:02

On Tuesday, August 03, 2010, Hidetoshi Seto wrote:
(2010/08/03 6:54), Rafael J. Wysocki wrote:
quoted
From: Rafael J. Wysocki <redacted>

Introduce a function allowing the caller to check if PCIe AER should
be enabled.

Signed-off-by: Rafael J. Wysocki <redacted>
---
(snip)
quoted
Index: linux-2.6/drivers/pci/pcie/aer/aerdrv.c
===================================================================
--- linux-2.6.orig/drivers/pci/pcie/aer/aerdrv.c
+++ linux-2.6/drivers/pci/pcie/aer/aerdrv.c
@@ -72,6 +72,11 @@ void pci_no_aer(void)
 	pcie_aer_disable = 1;	/* has priority over 'forceload' */
 }
 
+bool pci_aer_available(void)
+{
+	return !pcie_aer_disable && pci_msi_enabled();
+}
+
 static int set_device_error_reporting(struct pci_dev *dev, void *data)
 {
 	bool enable = *((bool *)data);
@@ -411,9 +416,7 @@ static void aer_error_resume(struct pci_
  */
 static int __init aer_service_init(void)
 {
-	if (pcie_aer_disable)
-		return -ENXIO;
-	if (!pci_msi_enabled())
+	if (pci_aer_available())
 		return -ENXIO;
 	return pcie_port_service_register(&aerdriver);
 }
Breaking a big lump into small pieces often makes things clear.
You should return error when AER is _NOT_ available.

if (!pci_aer_available())
	return -ENXIO;

Be careful...
Yup, sorry.

Thanks,
Rafael
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help