These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / acpi / acpica / hwpci.c
index c5214de..f785ea7 100644 (file)
@@ -123,7 +123,7 @@ acpi_hw_derive_pci_id(struct acpi_pci_id *pci_id,
                      acpi_handle root_pci_device, acpi_handle pci_region)
 {
        acpi_status status;
-       struct acpi_pci_device *list_head = NULL;
+       struct acpi_pci_device *list_head;
 
        ACPI_FUNCTION_TRACE(hw_derive_pci_id);
 
@@ -177,13 +177,13 @@ acpi_hw_build_pci_list(acpi_handle root_pci_device,
        acpi_handle parent_device;
        acpi_status status;
        struct acpi_pci_device *list_element;
-       struct acpi_pci_device *list_head = NULL;
 
        /*
         * Ascend namespace branch until the root_pci_device is reached, building
         * a list of device nodes. Loop will exit when either the PCI device is
         * found, or the root of the namespace is reached.
         */
+       *return_list_head = NULL;
        current_device = pci_region;
        while (1) {
                status = acpi_get_parent(current_device, &parent_device);
@@ -198,7 +198,6 @@ acpi_hw_build_pci_list(acpi_handle root_pci_device,
                /* Finished when we reach the PCI root device (PNP0A03 or PNP0A08) */
 
                if (parent_device == root_pci_device) {
-                       *return_list_head = list_head;
                        return (AE_OK);
                }
 
@@ -213,9 +212,9 @@ acpi_hw_build_pci_list(acpi_handle root_pci_device,
 
                /* Put new element at the head of the list */
 
-               list_element->next = list_head;
+               list_element->next = *return_list_head;
                list_element->device = parent_device;
-               list_head = list_element;
+               *return_list_head = list_element;
 
                current_device = parent_device;
        }