X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Facpi%2Fdispatcher%2Fdswload.c;h=06d7586795881223c5fd2e08a700f29c6080f568;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=9c0d99e09a593222101f1bd662e8b769f7a2fb48;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/drivers/acpi/dispatcher/dswload.c b/drivers/acpi/dispatcher/dswload.c index 9c0d99e09..06d758679 100644 --- a/drivers/acpi/dispatcher/dswload.c +++ b/drivers/acpi/dispatcher/dswload.c @@ -5,7 +5,7 @@ *****************************************************************************/ /* - * Copyright (C) 2000 - 2004, R. Byron Moore + * Copyright (C) 2000 - 2005, R. Byron Moore * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -182,18 +182,20 @@ acpi_ds_load1_begin_op ( */ status = acpi_ns_lookup (walk_state->scope_info, path, object_type, ACPI_IMODE_EXECUTE, ACPI_NS_SEARCH_PARENT, walk_state, &(node)); - if (ACPI_FAILURE (status)) { #ifdef _ACPI_ASL_COMPILER - if (status == AE_NOT_FOUND) { - acpi_dm_add_to_external_list (path); - status = AE_OK; - } - else { - ACPI_REPORT_NSERROR (path, status); - } -#else - ACPI_REPORT_NSERROR (path, status); + if (status == AE_NOT_FOUND) { + /* + * Table disassembly: + * Target of Scope() not found. Generate an External for it, and + * insert the name into the namespace. + */ + acpi_dm_add_to_external_list (path); + status = acpi_ns_lookup (walk_state->scope_info, path, object_type, + ACPI_IMODE_LOAD_PASS1, ACPI_NS_SEARCH_PARENT, walk_state, &(node)); + } #endif + if (ACPI_FAILURE (status)) { + ACPI_REPORT_NSERROR (path, status); return (status); }