From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hidetoshi Seto Subject: Re: [PATCH 7/7] ACPI / PCI: Reorder checks in acpi_pci_osc_control_set() Date: Mon, 02 Aug 2010 18:23:55 +0900 Message-ID: <4C568EAB.5040600@jp.fujitsu.com> References: <201007310020.56546.rjw@sisk.pl> <201007310037.36543.rjw@sisk.pl> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <201007310037.36543.rjw@sisk.pl> Sender: linux-pci-owner@vger.kernel.org To: "Rafael J. Wysocki" Cc: Jesse Barnes , Kenji Kaneshige , Matthew Garrett , linux-pci@vger.kernel.org, linux-pm@lists.linux-foundation.org, ACPI Devel Maling List , Len Brown List-Id: linux-acpi@vger.kernel.org (2010/07/31 7:37), Rafael J. Wysocki wrote: > From: Rafael J. Wysocki > > Make acpi_pci_osc_control_set() attempt to find the handle of the > _OSC object under the given PCI root bridge object after verifying > that its second argument is correct and that there is a struct > acpi_pci_root object for the given root bridge handle. This is > more logical than the old code and it matches the code ordering > in acpi_pci_root_osc_query(). > > Signed-off-by: Rafael J. Wysocki > --- > drivers/acpi/pci_root.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > Index: linux-2.6/drivers/acpi/pci_root.c > =================================================================== > --- linux-2.6.orig/drivers/acpi/pci_root.c > +++ linux-2.6/drivers/acpi/pci_root.c > @@ -414,10 +414,6 @@ acpi_status acpi_pci_osc_control_set(acp > acpi_handle tmp; > struct acpi_pci_root *root; > > - status = acpi_get_handle(handle, "_OSC", &tmp); > - if (ACPI_FAILURE(status)) > - return status; > - > control_req = (flags & OSC_PCI_CONTROL_MASKS); > if (!control_req) > return AE_TYPE; > @@ -426,6 +422,10 @@ acpi_status acpi_pci_osc_control_set(acp > if (!root) > return AE_NOT_EXIST; > > + status = acpi_get_handle(handle, "_OSC", &tmp); > + if (ACPI_FAILURE(status)) > + return status; > + > mutex_lock(&osc_lock); > /* No need to evaluate _OSC if the control was already granted. */ > if ((root->osc_control_set & control_req) == control_req) > Description is better than Kaneshige-san's [3/6]. And it seems that this patch can be applied alone too. Reviewed-by: Hidetoshi Seto