diff options
| -rw-r--r-- | drivers/acpi/osl.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index 0bf367d340fc..f96f7d921357 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c @@ -203,7 +203,9 @@ acpi_os_get_physical_address(void *virt, acpi_physical_address *phys) return AE_OK; } -static char acpi_os_name[200] = ACPI_OS_NAME; +#define ACPI_MAX_OVERRIDE_LEN 100 + +static char acpi_os_name[ACPI_MAX_OVERRIDE_LEN]; acpi_status acpi_os_predefined_override (const struct acpi_predefined_names *init_val, @@ -213,8 +215,10 @@ acpi_os_predefined_override (const struct acpi_predefined_names *init_val, return AE_BAD_PARAMETER; *new_val = NULL; - if (!memcmp (init_val->name, "_OS_", 4)) + if (!memcmp (init_val->name, "_OS_", 4) && strlen(acpi_os_name)) { + printk(KERN_INFO PREFIX "Overriding _OS definition\n"); *new_val = acpi_os_name; + } return AE_OK; } @@ -875,7 +879,7 @@ int __init acpi_os_name_setup(char *str) { char *p = acpi_os_name; - int count = 199; + int count = ACPI_MAX_OVERRIDE_LEN-1; if (!str || !*str) return 0; |
