Messages in this thread Patch in this message | | | From | manoj.iyer@canonica ... | Subject | [PATCH] thinkpad-acpi: recognize latest V-Series using DMI_BIOS_VENDOR | Date | Mon, 6 Aug 2012 16:23:20 -0500 |
| |
From: Manoj Iyer <manoj.iyer@canonical.com>
In the latest V-series bios DMI_PRODUCT_VERSION does not contain the string Lenovo or Thinkpad, but is set to the model number, this causes the thinkpad_acpi module to fail to load. Recognize laptop as Lenovo using DMI_BIOS_VENDOR instead, which is set to Lenovo.
Signed-off-by: Manoj Iyer <manoj.iyer@canonical.com> --- drivers/platform/x86/thinkpad_acpi.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c index e7f7328..17692c8 100644 --- a/drivers/platform/x86/thinkpad_acpi.c +++ b/drivers/platform/x86/thinkpad_acpi.c @@ -8658,11 +8658,16 @@ static int __must_check __init get_thinkpad_model_data( } s = dmi_get_system_info(DMI_PRODUCT_VERSION); - if (s && !(strnicmp(s, "ThinkPad", 8) && strnicmp(s, "Lenovo", 6))) { + if (s && !(strnicmp(s, "ThinkPad", 8) && strnicmp(s, "Lenovo", 6))) tp->model_str = kstrdup(s, GFP_KERNEL); - if (!tp->model_str) - return -ENOMEM; - } + else { + s = dmi_get_system_info(DMI_BIOS_VENDOR); + if (s && !(strnicmp(s, "Lenovo", 6))) + tp->model_str = kstrdup(s, GFP_KERNEL); + } + + if (!tp->model_str) + return -ENOMEM; s = dmi_get_system_info(DMI_PRODUCT_NAME); tp->nummodel_str = kstrdup(s, GFP_KERNEL); -- 1.7.9.5
| |