aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/tables/tbutils.c
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2006-06-08 16:29:00 -0400
committerLen Brown <len.brown@intel.com>2006-06-14 02:45:47 -0400
commit4c90ece249992c7a2e3fc921e5cdb8eb92193067 (patch)
treee145ffe472802ef870ba1eaea150b688c19e45ca /drivers/acpi/tables/tbutils.c
parent4119532c95547821dbe72d6916dfa1b2148475b3 (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/tbutils.c')
-rw-r--r--drivers/acpi/tables/tbutils.c17
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));