[ACPI] ACPICA 20050815
Implemented a full bytewise compare to determine if a table load request is attempting to load a duplicate table. The compare is performed if the table signatures and table lengths match. This will allow different tables with the same OEM Table ID and revision to be loaded. Although the BIOS is technically violating the ACPI spec when this happens -- it does happen -- so Linux must handle it. Signed-off-by: Robert Moore <robert.moore@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
@@ -78,6 +78,10 @@ acpi_status acpi_ut_allocate_owner_id(acpi_owner_id * owner_id)
|
||||
|
||||
for (i = 0; i < 32; i++) {
|
||||
if (!(acpi_gbl_owner_id_mask & (1 << i))) {
|
||||
ACPI_DEBUG_PRINT((ACPI_DB_VALUES,
|
||||
"Current owner_id mask: %8.8X New ID: %2.2X\n",
|
||||
acpi_gbl_owner_id_mask, (i + 1)));
|
||||
|
||||
acpi_gbl_owner_id_mask |= (1 << i);
|
||||
*owner_id = (acpi_owner_id) (i + 1);
|
||||
goto exit;
|
||||
@@ -119,7 +123,7 @@ void acpi_ut_release_owner_id(acpi_owner_id * owner_id_ptr)
|
||||
acpi_owner_id owner_id = *owner_id_ptr;
|
||||
acpi_status status;
|
||||
|
||||
ACPI_FUNCTION_TRACE("ut_release_owner_id");
|
||||
ACPI_FUNCTION_TRACE_U32("ut_release_owner_id", owner_id);
|
||||
|
||||
/* Always clear the input owner_id (zero is an invalid ID) */
|
||||
|
||||
|
Reference in New Issue
Block a user