From 3424e793d24c5d09490109b1ef182bdd4b5e8441 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 5 Jun 2013 13:10:58 -0700 Subject: [PATCH] 3.4-stable patches added patches: thinkpad-acpi-recognize-latest-v-series-using-dmi_bios_vendor.patch --- queue-3.4/series | 1 + ...atest-v-series-using-dmi_bios_vendor.patch | 80 +++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 queue-3.4/thinkpad-acpi-recognize-latest-v-series-using-dmi_bios_vendor.patch diff --git a/queue-3.4/series b/queue-3.4/series index eda69117ff8..b5c7fdcf399 100644 --- a/queue-3.4/series +++ b/queue-3.4/series @@ -41,3 +41,4 @@ iommu-amd-re-enable-iommu-event-log-interrupt-after-handling.patch iommu-amd-workaround-for-erbt1312.patch x86-um-correct-syscall-table-type-attributes-breaking-gcc-4.8.patch mac80211-close-ap_vlan-interfaces-before-unregistering-all.patch +thinkpad-acpi-recognize-latest-v-series-using-dmi_bios_vendor.patch diff --git a/queue-3.4/thinkpad-acpi-recognize-latest-v-series-using-dmi_bios_vendor.patch b/queue-3.4/thinkpad-acpi-recognize-latest-v-series-using-dmi_bios_vendor.patch new file mode 100644 index 00000000000..035100b55fe --- /dev/null +++ b/queue-3.4/thinkpad-acpi-recognize-latest-v-series-using-dmi_bios_vendor.patch @@ -0,0 +1,80 @@ +From a4f46bb9fa84642e356898ee44b670989622f8bb Mon Sep 17 00:00:00 2001 +From: Manoj Iyer +Date: Mon, 6 Aug 2012 18:15:37 -0500 +Subject: thinkpad-acpi: recognize latest V-Series using DMI_BIOS_VENDOR + +From: Manoj Iyer + +commit a4f46bb9fa84642e356898ee44b670989622f8bb upstream. + +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. + +Test on V490u +============= +== After the patch == + +[ 1350.295757] thinkpad_acpi: ThinkPad ACPI Extras v0.24 +[ 1350.295760] thinkpad_acpi: http://ibm-acpi.sf.net/ +[ 1350.295761] thinkpad_acpi: ThinkPad BIOS H7ET21WW (1.00 ), EC unknown +[ 1350.295763] thinkpad_acpi: Lenovo LENOVO, model LV5DXXX +[ 1350.296086] thinkpad_acpi: detected a 8-level brightness capable ThinkPad +[ 1350.296694] thinkpad_acpi: radio switch found; radios are enabled +[ 1350.296703] thinkpad_acpi: possible tablet mode switch found; ThinkPad in laptop mode +[ 1350.306466] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked +[ 1350.307082] Registered led device: tpacpi::thinklight +[ 1350.307215] Registered led device: tpacpi::power +[ 1350.307255] Registered led device: tpacpi::standby +[ 1350.307294] Registered led device: tpacpi::thinkvantage +[ 1350.308160] thinkpad_acpi: Standard ACPI backlight interface available, not loading native one +[ 1350.308333] thinkpad_acpi: Console audio control enabled, mode: monitor (read only) +[ 1350.312287] input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input14 + +== Before the patch == +sudo modprobe thinkpad_acpi +FATAL: Error inserting thinkpad_acpi (/lib/modules/3.2.0-27-generic/kernel/drivers/platform/x86/thinkpad_acpi.ko): No such device + +Test on B485 +============= +This patch was also test in a B485 where the thinkpad_acpi module does not +have any issues loading. But, I tested it to make sure this patch does not +break on already functioning models of Lenovo products. + +[13486.746359] thinkpad_acpi: ThinkPad ACPI Extras v0.24 +[13486.746364] thinkpad_acpi: http://ibm-acpi.sf.net/ +[13486.746368] thinkpad_acpi: ThinkPad BIOS HJET15WW(1.01), EC unknown +[13486.746373] thinkpad_acpi: Lenovo Lenovo LB485, model 814TR01 +[13486.747300] thinkpad_acpi: detected a 8-level brightness capable ThinkPad +[13486.752435] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked +[13486.752883] Registered led device: tpacpi::thinklight +[13486.752915] thinkpad_acpi: Standard ACPI backlight interface available, not loading native one +[13486.753216] thinkpad_acpi: Console audio control enabled, mode: monitor (read only) +[13486.757147] input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input15 + +Signed-off-by: Manoj Iyer +Signed-off-by: Matthew Garrett +Cc: Shuduo Sang +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/platform/x86/thinkpad_acpi.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +--- a/drivers/platform/x86/thinkpad_acpi.c ++++ b/drivers/platform/x86/thinkpad_acpi.c +@@ -8662,6 +8662,13 @@ static int __must_check __init get_think + 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); -- 2.47.3