diff options
author | Bob Moore <robert.moore@intel.com> | 2006-06-08 16:29:00 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2006-06-14 02:45:47 -0400 |
commit | 4c90ece249992c7a2e3fc921e5cdb8eb92193067 (patch) | |
tree | e145ffe472802ef870ba1eaea150b688c19e45ca /drivers/acpi/tables | |
parent | 4119532c95547821dbe72d6916dfa1b2148475b3 (diff) |
ACPI: ACPICA 20060608
Converted the locking mutex used for the ACPI hardware
to a spinlock. This change should eliminate all problems
caused by attempting to acquire a semaphore at interrupt
level, and it means that all ACPICA external interfaces
that directly access the ACPI hardware can be safely
called from interrupt level.
Fixed a regression introduced in 20060526 where the ACPI
device initialization could be prematurely aborted with
an AE_NOT_FOUND if a device did not have an optional
_INI method.
Fixed an IndexField issue where a write to the Data
Register should be limited in size to the AccessSize
(width) of the IndexField itself. (BZ 433, Fiodor Suietov)
Fixed problem reports (Valery Podrezov) integrated: - Allow
store of ThermalZone objects to Debug object.
http://bugzilla.kernel.org/show_bug.cgi?id=5369
http://bugzilla.kernel.org/show_bug.cgi?id=5370
Fixed problem reports (Fiodor Suietov) integrated: -
acpi_get_table_header() doesn't handle multiple instances
correctly (BZ 364)
Removed four global mutexes that were obsolete and were
no longer being used.
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/tables')
-rw-r--r-- | drivers/acpi/tables/tbutils.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/drivers/acpi/tables/tbutils.c b/drivers/acpi/tables/tbutils.c index 5f1440376514..209a401801e3 100644 --- a/drivers/acpi/tables/tbutils.c +++ b/drivers/acpi/tables/tbutils.c | |||
@@ -160,12 +160,8 @@ acpi_tb_validate_table_header(struct acpi_table_header *table_header) | |||
160 | 160 | ||
161 | ACPI_MOVE_32_TO_32(&signature, table_header->signature); | 161 | ACPI_MOVE_32_TO_32(&signature, table_header->signature); |
162 | if (!acpi_ut_valid_acpi_name(signature)) { | 162 | if (!acpi_ut_valid_acpi_name(signature)) { |
163 | ACPI_ERROR((AE_INFO, | 163 | ACPI_ERROR((AE_INFO, "Invalid table signature 0x%8.8X", |
164 | "Table signature at %p [%p] has invalid characters", | 164 | signature)); |
165 | table_header, &signature)); | ||
166 | |||
167 | ACPI_WARNING((AE_INFO, "Invalid table signature found: [%4.4s]", | ||
168 | ACPI_CAST_PTR(char, &signature))); | ||
169 | 165 | ||
170 | ACPI_DUMP_BUFFER(table_header, | 166 | ACPI_DUMP_BUFFER(table_header, |
171 | sizeof(struct acpi_table_header)); | 167 | sizeof(struct acpi_table_header)); |
@@ -176,12 +172,9 @@ acpi_tb_validate_table_header(struct acpi_table_header *table_header) | |||
176 | 172 | ||
177 | if (table_header->length < sizeof(struct acpi_table_header)) { | 173 | if (table_header->length < sizeof(struct acpi_table_header)) { |
178 | ACPI_ERROR((AE_INFO, | 174 | ACPI_ERROR((AE_INFO, |
179 | "Invalid length in table header %p name %4.4s", | 175 | "Invalid length 0x%X in table with signature %4.4s", |
180 | table_header, (char *)&signature)); | 176 | (u32) table_header->length, |
181 | 177 | ACPI_CAST_PTR(char, &signature))); | |
182 | ACPI_WARNING((AE_INFO, | ||
183 | "Invalid table header length (0x%X) found", | ||
184 | (u32) table_header->length)); | ||
185 | 178 | ||
186 | ACPI_DUMP_BUFFER(table_header, | 179 | ACPI_DUMP_BUFFER(table_header, |
187 | sizeof(struct acpi_table_header)); | 180 | sizeof(struct acpi_table_header)); |