From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hidetoshi Seto Subject: Re: [PATCH 2/8] PCI / PCIe/ AER: Introduce pci_aer_available() Date: Tue, 03 Aug 2010 09:46:42 +0900 Message-ID: <4C5766F2.4010605@jp.fujitsu.com> References: <201008022351.31406.rjw@sisk.pl> <201008022354.46369.rjw@sisk.pl> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Return-path: Received: from fgwmail5.fujitsu.co.jp ([192.51.44.35]:50798 "EHLO fgwmail5.fujitsu.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751143Ab0HCAr5 (ORCPT ); Mon, 2 Aug 2010 20:47:57 -0400 In-Reply-To: <201008022354.46369.rjw@sisk.pl> Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: "Rafael J. Wysocki" Cc: Jesse Barnes , ACPI Devel Maling List , Len Brown , linux-pm@lists.linux-foundation.org, linux-pci@vger.kernel.org, Kenji Kaneshige , Matthew Garrett (2010/08/03 6:54), Rafael J. Wysocki wrote: > From: Rafael J. Wysocki > > Introduce a function allowing the caller to check if PCIe AER should > be enabled. > > Signed-off-by: Rafael J. Wysocki > --- (snip) > 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... Thanks, H.Seto