diff mbox

[3.5.x.y,stable] SRU: thinkpad-acpi: recognize latest, V-Series using DMI_BIOS_VENDOR

Message ID 51AEC8A7.7000803@canonical.com
State New
Headers show

Commit Message

Shuduo Sang June 5, 2013, 5:12 a.m. UTC
OEM bug: https://bugs.launchpad.net/sutton/+bug/1182323

SRU Justification:

Impact: some Lenovo laptops fail to load thinkpad_acpi module
Fix: Manoj Iyer's patch was merged into upstream kernel 3.6-rc3 but not
	backported into any 3.5.x.y stable kernel
Testcase: install stable kernel on Lenovo Zhaoyang series laptop and
	check thinkpad_acpi module be loaded or not.

Thanks,
Shuduo

From a4f46bb9fa84642e356898ee44b670989622f8bb Mon Sep 17 00:00:00 2001
From: Manoj Iyer <manoj.iyer@canonical.com>
Date: Mon, 6 Aug 2012 18:15:37 -0500
Subject: [PATCH] thinkpad-acpi: recognize latest V-Series using
 DMI_BIOS_VENDOR

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
 	s = dmi_get_system_info(DMI_PRODUCT_NAME);

Comments

Luis Henriques June 5, 2013, 9:10 a.m. UTC | #1
Hi Shuduo,

Shuduo Sang <shuduo.sang@canonical.com> writes:

> OEM bug: https://bugs.launchpad.net/sutton/+bug/1182323
>
> SRU Justification:
>
> Impact: some Lenovo laptops fail to load thinkpad_acpi module
> Fix: Manoj Iyer's patch was merged into upstream kernel 3.6-rc3 but not
> 	backported into any 3.5.x.y stable kernel
> Testcase: install stable kernel on Lenovo Zhaoyang series laptop and
> 	check thinkpad_acpi module be loaded or not.

Your request is a bit confusing as you seem to be mixing two
processes: the SRU process used in Ubuntu kernels and the stable
maintenance process.

Stable kernels (in this case, the 3.5.x.y) do not follow the SRU
process.  When you want a commit to be included you need to send a
request to the stable@vger.kernel.org mailing list, identifying the
SHA1s and the series.  Here's some example of such requests:

http://thread.gmane.org/gmane.linux.kernel.stable/54115
http://thread.gmane.org/gmane.linux.kernel.stable/53487

This way, other people may comment, and other stable maintainers may
pick the commits for their trees.

Take a look at Documentation/stable_kernel_rules.txt (in the kernel
tree) for more details on the stable kernel maintenance process.

On the other hand, if you just want the patch to be in the Quantal
kernel, then just replace any occurrence of "3.5.x.y" in your email by
"Quantal" (including the "[3.5.x.y stable]" in the Subject line) :-)
(And don't forget to add you Signed-off-by)

Cheers,
Shuduo Sang June 5, 2013, 3:28 p.m. UTC | #2
On Wed, Jun 5, 2013 at 5:10 PM, Luis Henriques <luis.henriques@canonical.com>
wrote:
>
> Hi Shuduo,
>
> Shuduo Sang <shuduo.sang@canonical.com> writes:
>
> > OEM bug: https://bugs.launchpad.net/sutton/+bug/1182323
> >
> > SRU Justification:
> >
> > Impact: some Lenovo laptops fail to load thinkpad_acpi module
> > Fix: Manoj Iyer's patch was merged into upstream kernel 3.6-rc3 but not
> >       backported into any 3.5.x.y stable kernel
> > Testcase: install stable kernel on Lenovo Zhaoyang series laptop and
> >       check thinkpad_acpi module be loaded or not.
>
> Your request is a bit confusing as you seem to be mixing two
> processes: the SRU process used in Ubuntu kernels and the stable
> maintenance process.
>
> Stable kernels (in this case, the 3.5.x.y) do not follow the SRU
> process.  When you want a commit to be included you need to send a
> request to the stable@vger.kernel.org mailing list, identifying the
> SHA1s and the series.  Here's some example of such requests:
>
> http://thread.gmane.org/gmane.linux.kernel.stable/54115
> http://thread.gmane.org/gmane.linux.kernel.stable/53487
>
> This way, other people may comment, and other stable maintainers may
> pick the commits for their trees.
>
> Take a look at Documentation/stable_kernel_rules.txt (in the kernel
> tree) for more details on the stable kernel maintenance process.
>
> On the other hand, if you just want the patch to be in the Quantal
> kernel, then just replace any occurrence of "3.5.x.y" in your email by
> "Quantal" (including the "[3.5.x.y stable]" in the Subject line) :-)
> (And don't forget to add you Signed-off-by)
>

Thanks so much for your explain. I will send this request to -stable list.
I am still not clear about SRU criteria. Should I request SRU for this
patch? Or just request -stable to merge is okay?

>
> Cheers,
> --
> Luis
>
> >
> > Thanks,
> > Shuduo
> >
> > From a4f46bb9fa84642e356898ee44b670989622f8bb Mon Sep 17 00:00:00 2001
> > From: Manoj Iyer <manoj.iyer@canonical.com>
> > Date: Mon, 6 Aug 2012 18:15:37 -0500
> > Subject: [PATCH] thinkpad-acpi: recognize latest V-Series using
> >  DMI_BIOS_VENDOR
> >
> > 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 <manoj.iyer@canonical.com>
> > Signed-off-by: Matthew Garrett <mjg@redhat.com>
> > ---
> >  drivers/platform/x86/thinkpad_acpi.c | 7 +++++++
> >  1 file changed, 7 insertions(+)
> >
> > diff --git a/drivers/platform/x86/thinkpad_acpi.c
> > b/drivers/platform/x86/thinkpad_acpi.c
> > index f28f36c..80e3779 100644
> > --- a/drivers/platform/x86/thinkpad_acpi.c
> > +++ b/drivers/platform/x86/thinkpad_acpi.c
> > @@ -8664,6 +8664,13 @@ static int __must_check __init
> > get_thinkpad_model_data(
> >               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);
> > --
> > 1.8.1.2
Shuduo Sang June 5, 2013, 3:41 p.m. UTC | #3
On Wed, Jun 5, 2013 at 11:28 PM, Shuduo Sang <shuduo.sang@canonical.com>
wrote:
>
>
>
>
> On Wed, Jun 5, 2013 at 5:10 PM, Luis Henriques <
luis.henriques@canonical.com> wrote:
> >
> > Hi Shuduo,
> >
> > Shuduo Sang <shuduo.sang@canonical.com> writes:
> >
> > > OEM bug: https://bugs.launchpad.net/sutton/+bug/1182323
> > >
> > > SRU Justification:
> > >
> > > Impact: some Lenovo laptops fail to load thinkpad_acpi module
> > > Fix: Manoj Iyer's patch was merged into upstream kernel 3.6-rc3 but
not
> > >       backported into any 3.5.x.y stable kernel
> > > Testcase: install stable kernel on Lenovo Zhaoyang series laptop and
> > >       check thinkpad_acpi module be loaded or not.
> >
> > Your request is a bit confusing as you seem to be mixing two
> > processes: the SRU process used in Ubuntu kernels and the stable
> > maintenance process.
> >
> > Stable kernels (in this case, the 3.5.x.y) do not follow the SRU
> > process.  When you want a commit to be included you need to send a
> > request to the stable@vger.kernel.org mailing list, identifying the
> > SHA1s and the series.  Here's some example of such requests:
> >
> > http://thread.gmane.org/gmane.linux.kernel.stable/54115
> > http://thread.gmane.org/gmane.linux.kernel.stable/53487
> >
> > This way, other people may comment, and other stable maintainers may
> > pick the commits for their trees.
> >
> > Take a look at Documentation/stable_kernel_rules.txt (in the kernel
> > tree) for more details on the stable kernel maintenance process.
> >
> > On the other hand, if you just want the patch to be in the Quantal
> > kernel, then just replace any occurrence of "3.5.x.y" in your email by
> > "Quantal" (including the "[3.5.x.y stable]" in the Subject line) :-)
> > (And don't forget to add you Signed-off-by)
> >
>
> Thanks so much for your explain. I will send this request to -stable
list. I am still not clear about SRU criteria. Should I request SRU for
this patch? Or just request -stable to merge is okay?

Oh, I got it. I just send SRU again with correct subject and send backport
request to stable.

>
> >
> > Cheers,
> > --
> > Luis
> >
> > >
> > > Thanks,
> > > Shuduo
> > >
> > > From a4f46bb9fa84642e356898ee44b670989622f8bb Mon Sep 17 00:00:00 2001
> > > From: Manoj Iyer <manoj.iyer@canonical.com>
> > > Date: Mon, 6 Aug 2012 18:15:37 -0500
> > > Subject: [PATCH] thinkpad-acpi: recognize latest V-Series using
> > >  DMI_BIOS_VENDOR
> > >
> > > 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 <manoj.iyer@canonical.com>
> > > Signed-off-by: Matthew Garrett <mjg@redhat.com>
> > > ---
> > >  drivers/platform/x86/thinkpad_acpi.c | 7 +++++++
> > >  1 file changed, 7 insertions(+)
> > >
> > > diff --git a/drivers/platform/x86/thinkpad_acpi.c
> > > b/drivers/platform/x86/thinkpad_acpi.c
> > > index f28f36c..80e3779 100644
> > > --- a/drivers/platform/x86/thinkpad_acpi.c
> > > +++ b/drivers/platform/x86/thinkpad_acpi.c
> > > @@ -8664,6 +8664,13 @@ static int __must_check __init
> > > get_thinkpad_model_data(
> > >               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);
> > > --
> > > 1.8.1.2
>
diff mbox

Patch

=============
== 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 <manoj.iyer@canonical.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
---
 drivers/platform/x86/thinkpad_acpi.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/platform/x86/thinkpad_acpi.c
b/drivers/platform/x86/thinkpad_acpi.c
index f28f36c..80e3779 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -8664,6 +8664,13 @@  static int __must_check __init
get_thinkpad_model_data(
 		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;
+		}
 	}