git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
drivers
/
acpi
/
namespace
/
nsinit.c
diff --git
a/drivers/acpi/namespace/nsinit.c
b/drivers/acpi/namespace/nsinit.c
index
8617875
..
4a46b38
100644
(file)
--- a/
drivers/acpi/namespace/nsinit.c
+++ b/
drivers/acpi/namespace/nsinit.c
@@
-5,7
+5,7
@@
*****************************************************************************/
/*
*****************************************************************************/
/*
- * Copyright (C) 2000 - 200
4
, R. Byron Moore
+ * Copyright (C) 2000 - 200
5
, R. Byron Moore
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@
-77,7
+77,8
@@
acpi_ns_initialize_objects (
ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH,
"**** Starting initialization of namespace objects ****\n"));
ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH,
"**** Starting initialization of namespace objects ****\n"));
- ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT, "Completing Region/Field/Buffer/Package initialization:"));
+ ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT,
+ "Completing Region/Field/Buffer/Package initialization:"));
/* Set all init info to zero */
/* Set all init info to zero */
@@
-142,7
+143,8
@@
acpi_ns_initialize_devices (
info.num_STA = 0;
info.num_INI = 0;
info.num_STA = 0;
info.num_INI = 0;
- ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT, "Executing all Device _STA and_INI methods:"));
+ ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT,
+ "Executing all Device _STA and_INI methods:"));
status = acpi_ut_acquire_mutex (ACPI_MTX_NAMESPACE);
if (ACPI_FAILURE (status)) {
status = acpi_ut_acquire_mutex (ACPI_MTX_NAMESPACE);
if (ACPI_FAILURE (status)) {
@@
-257,8
+259,8
@@
acpi_ns_init_one_object (
}
/*
}
/*
- * Each of these types can contain executable AML code within
- *
the
declaration.
+ * Each of these types can contain executable AML code within
the
+ * declaration.
*/
switch (type) {
case ACPI_TYPE_REGION:
*/
switch (type) {
case ACPI_TYPE_REGION:
@@
-267,21
+269,18
@@
acpi_ns_init_one_object (
status = acpi_ds_get_region_arguments (obj_desc);
break;
status = acpi_ds_get_region_arguments (obj_desc);
break;
-
case ACPI_TYPE_BUFFER_FIELD:
info->field_init++;
status = acpi_ds_get_buffer_field_arguments (obj_desc);
break;
case ACPI_TYPE_BUFFER_FIELD:
info->field_init++;
status = acpi_ds_get_buffer_field_arguments (obj_desc);
break;
-
case ACPI_TYPE_BUFFER:
info->buffer_init++;
status = acpi_ds_get_buffer_arguments (obj_desc);
break;
case ACPI_TYPE_BUFFER:
info->buffer_init++;
status = acpi_ds_get_buffer_arguments (obj_desc);
break;
-
case ACPI_TYPE_PACKAGE:
info->package_init++;
case ACPI_TYPE_PACKAGE:
info->package_init++;
@@
-301,15
+300,17
@@
acpi_ns_init_one_object (
acpi_format_exception (status)));
}
acpi_format_exception (status)));
}
- /* Print a dot for each object unless we are going to print the entire pathname */
-
+ /*
+ * Print a dot for each object unless we are going to print the entire
+ * pathname
+ */
if (!(acpi_dbg_level & ACPI_LV_INIT_NAMES)) {
ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT, "."));
}
/*
if (!(acpi_dbg_level & ACPI_LV_INIT_NAMES)) {
ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT, "."));
}
/*
- * We ignore errors from above, and always return OK, since
- *
we don't want
to abort the walk on any single error.
+ * We ignore errors from above, and always return OK, since
we don't want
+ * to abort the walk on any single error.
*/
acpi_ex_exit_interpreter ();
return (AE_OK);
*/
acpi_ex_exit_interpreter ();
return (AE_OK);
@@
-363,7
+364,8
@@
acpi_ns_init_one_device (
return_ACPI_STATUS (AE_OK);
}
return_ACPI_STATUS (AE_OK);
}
- if ((acpi_dbg_level <= ACPI_LV_ALL_EXCEPTIONS) && (!(acpi_dbg_level & ACPI_LV_INFO))) {
+ if ((acpi_dbg_level <= ACPI_LV_ALL_EXCEPTIONS) &&
+ (!(acpi_dbg_level & ACPI_LV_INFO))) {
ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT, "."));
}
ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT, "."));
}
@@
-418,6
+420,12
@@
acpi_ns_init_one_device (
status = AE_OK;
}
else {
status = AE_OK;
}
else {
+ /* Delete any return object (especially if implicit_return is enabled) */
+
+ if (pinfo.return_object) {
+ acpi_ut_remove_reference (pinfo.return_object);
+ }
+
/* Count of successful INIs */
info->num_INI++;
/* Count of successful INIs */
info->num_INI++;
@@
-429,6
+437,5
@@
acpi_ns_init_one_device (
status = acpi_gbl_init_handler (pinfo.node, ACPI_INIT_DEVICE_INI);
}
status = acpi_gbl_init_handler (pinfo.node, ACPI_INIT_DEVICE_INI);
}
-
return_ACPI_STATUS (status);
}
return_ACPI_STATUS (status);
}