Skip to content

Commit

Permalink
ACPICA: Fix unalignment in acpi_ut_repair_name
Browse files Browse the repository at this point in the history
Update interface to acpi_ut_repair_name() to avoid
alignment issues on IA64

Signed-off-by: Alexey Starikovskiy <[email protected]>
Signed-off-by: Len Brown <[email protected]>
  • Loading branch information
acpibob authored and lenb committed Feb 3, 2007
1 parent c5a7156 commit 3d81b23
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 10 deletions.
2 changes: 1 addition & 1 deletion drivers/acpi/namespace/nsdump.c
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ acpi_ns_dump_one_object(acpi_handle obj_handle,

if (!acpi_ut_valid_acpi_name(this_node->name.integer)) {
this_node->name.integer =
acpi_ut_repair_name(this_node->name.integer);
acpi_ut_repair_name(this_node->name.ascii);

ACPI_WARNING((AE_INFO, "Invalid ACPI Name %08X",
this_node->name.integer));
Expand Down
3 changes: 2 additions & 1 deletion drivers/acpi/namespace/nssearch.c
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,8 @@ acpi_ns_search_and_enter(u32 target_name,
* even though there are a few bad names.
*/
if (!acpi_ut_valid_acpi_name(target_name)) {
target_name = acpi_ut_repair_name(target_name);
target_name =
acpi_ut_repair_name(ACPI_CAST_PTR(char, &target_name));

/* Report warning only if in strict mode or debug mode */

Expand Down
2 changes: 1 addition & 1 deletion drivers/acpi/utilities/utglobal.c
Original file line number Diff line number Diff line change
Expand Up @@ -566,7 +566,7 @@ char *acpi_ut_get_node_name(void *object)
/* Name must be a valid ACPI name */

if (!acpi_ut_valid_acpi_name(node->name.integer)) {
node->name.integer = acpi_ut_repair_name(node->name.integer);
node->name.integer = acpi_ut_repair_name(node->name.ascii);
}

/* Return the name */
Expand Down
11 changes: 5 additions & 6 deletions drivers/acpi/utilities/utmisc.c
Original file line number Diff line number Diff line change
Expand Up @@ -582,26 +582,25 @@ u8 acpi_ut_valid_acpi_name(u32 name)
*
******************************************************************************/

acpi_name acpi_ut_repair_name(acpi_name name)
acpi_name acpi_ut_repair_name(char *name)
{
char *name_ptr = ACPI_CAST_PTR(char, &name);
char new_name[ACPI_NAME_SIZE];
acpi_native_uint i;
char new_name[ACPI_NAME_SIZE];

for (i = 0; i < ACPI_NAME_SIZE; i++) {
new_name[i] = name_ptr[i];
new_name[i] = name[i];

/*
* Replace a bad character with something printable, yet technically
* still invalid. This prevents any collisions with existing "good"
* names in the namespace.
*/
if (!acpi_ut_valid_acpi_char(name_ptr[i], i)) {
if (!acpi_ut_valid_acpi_char(name[i], i)) {
new_name[i] = '*';
}
}

return (*ACPI_CAST_PTR(u32, new_name));
return (*(u32 *) new_name);
}

/*******************************************************************************
Expand Down
2 changes: 1 addition & 1 deletion include/acpi/acutils.h
Original file line number Diff line number Diff line change
Expand Up @@ -470,7 +470,7 @@ void acpi_ut_print_string(char *string, u8 max_length);

u8 acpi_ut_valid_acpi_name(u32 name);

acpi_name acpi_ut_repair_name(acpi_name name);
acpi_name acpi_ut_repair_name(char *name);

u8 acpi_ut_valid_acpi_char(char character, acpi_native_uint position);

Expand Down

0 comments on commit 3d81b23

Please sign in to comment.