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 <justin.chen@xxxxxx> ------------------------------------------------------------------------ ------------------------------------------- --- 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html