diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-08-15 12:26:37 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-08-15 12:26:37 -0400 |
commit | ffaa5b984a9322bbd5d9a7f0814ca2ce70feebe5 (patch) | |
tree | 171ed020ae3f9034150e832c613b650e803b62fb /drivers/acpi/utilities/utdelete.c | |
parent | 024b246ed24492d6c2ee14c34d742b137fce1b94 (diff) | |
parent | 0f2456236459f3ddef48a8a75d10b2d6ecf1a93d (diff) |
Merge branch 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6
* 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6:
ACPI: Fix thermal shutdowns
ACPI: bounds check IRQ to prevent memory corruption
ACPI: Avoid bogus EC timeout when EC is in Polling mode
ACPI : Add the EC dmi table to fix the incorrect ECDT table
ACPI: Properly clear flags on false-positives and send uevent on sudden unplug
acpi: trivial cleanups
acer-wmi: Fix wireless and bluetooth on early AMW0 v2 laptops
ACPI: WMI: Set instance for query block calls
ACPICA: Additional error checking for pathname utilities
ACPICA: Fix possible memory leak in Unload() operator
ACPICA: Fix memory leak when deleting thermal/processor objects
Diffstat (limited to 'drivers/acpi/utilities/utdelete.c')
-rw-r--r-- | drivers/acpi/utilities/utdelete.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/acpi/utilities/utdelete.c b/drivers/acpi/utilities/utdelete.c index c5c791a575c9..42609d3a8aa9 100644 --- a/drivers/acpi/utilities/utdelete.c +++ b/drivers/acpi/utilities/utdelete.c | |||
@@ -135,6 +135,10 @@ static void acpi_ut_delete_internal_obj(union acpi_operand_object *object) | |||
135 | obj_pointer = object->package.elements; | 135 | obj_pointer = object->package.elements; |
136 | break; | 136 | break; |
137 | 137 | ||
138 | /* | ||
139 | * These objects have a possible list of notify handlers. | ||
140 | * Device object also may have a GPE block. | ||
141 | */ | ||
138 | case ACPI_TYPE_DEVICE: | 142 | case ACPI_TYPE_DEVICE: |
139 | 143 | ||
140 | if (object->device.gpe_block) { | 144 | if (object->device.gpe_block) { |
@@ -142,9 +146,14 @@ static void acpi_ut_delete_internal_obj(union acpi_operand_object *object) | |||
142 | gpe_block); | 146 | gpe_block); |
143 | } | 147 | } |
144 | 148 | ||
145 | /* Walk the handler list for this device */ | 149 | /*lint -fallthrough */ |
150 | |||
151 | case ACPI_TYPE_PROCESSOR: | ||
152 | case ACPI_TYPE_THERMAL: | ||
153 | |||
154 | /* Walk the notify handler list for this object */ | ||
146 | 155 | ||
147 | handler_desc = object->device.handler; | 156 | handler_desc = object->common_notify.handler; |
148 | while (handler_desc) { | 157 | while (handler_desc) { |
149 | next_desc = handler_desc->address_space.next; | 158 | next_desc = handler_desc->address_space.next; |
150 | acpi_ut_remove_reference(handler_desc); | 159 | acpi_ut_remove_reference(handler_desc); |