The acpi_get_pci_rootbridge_handle() walk through the acpi ns to find
the handle matches the seg, bus and the PCI_ROOT_HID_STRING.  It should
returns the handle as soon as if find the match.  But the current codes
always parse through the whole namespace because the user_function
find_pci_rootbridge() returns status=AE_OK when it finds the match.

This patch, on top of 2.6.19-rc1, is to make the find_pci_rootbridge()
returning AE_CTRL_TERMINATE when it finds the match.

Signed-off-by: Justin Chen <[EMAIL PROTECTED]>

------------------------------------------------------------------------
-------------------------------------------
--- 2.6.19-rc1/drivers/acpi/glue.c.orig 2006-10-10 16:02:40.000000000
-0700
+++ 2.6.19-rc1/drivers/acpi/glue.c      2006-10-10 16:05:11.000000000
-0700
@@ -189,8 +189,12 @@ find_pci_rootbridge(acpi_handle handle, 
        bus = tmp;
 
        if (seg == find->seg && bus == find->bus)
+       {
                find->handle = handle;
-       status = AE_OK;
+               status = AE_CTRL_TERMINATE;
+       }
+       else
+               status = AE_OK;
       exit:
        kfree(buffer.pointer);
        return status;
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to