aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
authorJohn Keller <jpk@sgi.com>2007-02-15 14:08:30 -0600
committerLen Brown <len.brown@intel.com>2007-02-16 18:34:40 -0500
commitecb5f7521a309cb9c5fc0832b9705cd2a03d7d45 (patch)
tree6dd1cf08464f0217b3c70f9063209689aec446fb /drivers/acpi
parentACPI: ec: add unlock in error path (diff)
downloadlinux-dev-ecb5f7521a309cb9c5fc0832b9705cd2a03d7d45.tar.xz
linux-dev-ecb5f7521a309cb9c5fc0832b9705cd2a03d7d45.zip
ACPI: acpi_unload_table_id() always returns error
acpi_unload_table_id() is always returning an error status. Also, once the matching table is found, don't bother looking for another match. Signed-off-by: John Keller <jpk@sgi.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/tables/tbxface.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/acpi/tables/tbxface.c b/drivers/acpi/tables/tbxface.c
index 81937003fd53..417ef5fa7666 100644
--- a/drivers/acpi/tables/tbxface.c
+++ b/drivers/acpi/tables/tbxface.c
@@ -338,9 +338,9 @@ acpi_status acpi_unload_table_id(acpi_owner_id id)
int i;
acpi_status status = AE_NOT_EXIST;
- ACPI_FUNCTION_TRACE(acpi_unload_table);
+ ACPI_FUNCTION_TRACE(acpi_unload_table_id);
- /* Find table from the requested type list */
+ /* Find table in the global table list */
for (i = 0; i < acpi_gbl_root_table_list.count; ++i) {
if (id != acpi_gbl_root_table_list.tables[i].owner_id) {
continue;
@@ -352,8 +352,9 @@ acpi_status acpi_unload_table_id(acpi_owner_id id)
* simply a position within the hierarchy
*/
acpi_tb_delete_namespace_by_owner(i);
- acpi_tb_release_owner_id(i);
+ status = acpi_tb_release_owner_id(i);
acpi_tb_set_table_loaded_flag(i, FALSE);
+ break;
}
return_ACPI_STATUS(status);
}