PCI: acpiphp_ibm: prepare for acpi_get_object_info() no longer returning status

"Linux Kernel Mailing List" <[email protected]>
Newsgroups gmane.linux.kernel.commits.head
Message-ID <[email protected]>
Web:        https://git.kernel.org/torvalds/c/b0fd6772cfe10cd1edd65a376522e430e5f1bc58
Commit:     b0fd6772cfe10cd1edd65a376522e430e5f1bc58
Parent:     5a98231f554779fb1649f477b70bed1fd17222f2
Refname:    refs/heads/master
Author:     Hans de Goede <[email protected]>
AuthorDate: Fri Jan 26 16:02:57 2018 +0100
Committer:  Rafael J. Wysocki <[email protected]>
CommitDate: Sun Feb 4 09:11:56 2018 +0100

    PCI: acpiphp_ibm: prepare for acpi_get_object_info() no longer returning status
    
    acpi_get_object_info() is intended for early probe usage and as such should
    not call any methods which may rely on OpRegions, but it used to also call
    _STA to get the status, which on some systems does rely on OpRegions, this
    behavior and the acpi_device_info.current_status member are being removed.
    
    This commit prepares the acpiphp_ibm code for this by having it get the
    status itself using acpi_bus_get_status_handle(). Note no error handling is
    necessary on any errors acpi_bus_get_status_handle() leaves the value of
    the passed in current_status at its 0 initialization value.
    
    Acked-by: Bjorn Helgaas <[email protected]>
    Signed-off-by: Hans de Goede <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
---
 drivers/pci/hotplug/acpiphp_ibm.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/pci/hotplug/acpiphp_ibm.c b/drivers/pci/hotplug/acpiphp_ibm.c
index 984c7e8cec5a..8472c4a27f70 100644
--- a/drivers/pci/hotplug/acpiphp_ibm.c
+++ b/drivers/pci/hotplug/acpiphp_ibm.c
@@ -399,6 +399,7 @@ static acpi_status __init ibm_find_acpi_device(acpi_handle handle,
 		u32 lvl, void *context, void **rv)
 {
 	acpi_handle *phandle = (acpi_handle *)context;
+	unsigned long long current_status = 0;
 	acpi_status status;
 	struct acpi_device_info *info;
 	int retval = 0;
@@ -410,7 +411,9 @@ static acpi_status __init ibm_find_acpi_device(acpi_handle handle,
 		return retval;
 	}
 
-	if (info->current_status && (info->valid & ACPI_VALID_HID) &&
+	acpi_bus_get_status_handle(handle, &current_status);
+
+	if (current_status && (info->valid & ACPI_VALID_HID) &&
 			(!strcmp(info->hardware_id.string, IBM_HARDWARE_ID1) ||
 			 !strcmp(info->hardware_id.string, IBM_HARDWARE_ID2))) {
 		pr_debug("found hardware: %s, handle: %p\n",
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.