* [patch for 2.6.32? 2/2] thinkpad-acpi: fix detection of old ThinkPads
@ 2009-11-17 22:07 akpm
2009-11-20 12:05 ` Henrique de Moraes Holschuh
2009-11-25 5:41 ` Len Brown
0 siblings, 2 replies; 4+ messages in thread
From: akpm @ 2009-11-17 22:07 UTC (permalink / raw)
To: lenb; +Cc: linux-acpi, akpm, hmh, bjorn.helgaas, kimoto, rjw
From: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
There is a problem in the quirk tables used by tpacpi_is_fw_known() and
tpacpi_check_outdated_fw(), which causes outdated BIOSes that are lacking
the EC firmware ID DMI field to never match.
This breaks module loading on, e.g. a T23 with outdated BIOS, and the
module will refuse to load unless the "force_load=1" parameter is given.
Fix the quirk tables so that they can also match the outdated BIOSes,
which in turn will both fix the module loading, and also warn the user
that he is using outdated firmware and should upgrade.
This fixes a serious regression, introduced by commit
e675abafcc0df38125e6e94a9ba91c92fe774f52, "thinkpad-acpi: be more strict
when detecting a ThinkPad".
Addresses http://bugzilla.kernel.org/show_bug.cgi?id=14597
Reported-by: Paul Kimoto <kimoto@lightlink.com>
Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Tested-by: Paul Kimoto <kimoto@lightlink.com>
Cc: Len Brown <lenb@kernel.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
drivers/platform/x86/thinkpad_acpi.c | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
diff -puN drivers/platform/x86/thinkpad_acpi.c~thinkpad-acpi-fix-detection-of-old-thinkpads drivers/platform/x86/thinkpad_acpi.c
--- a/drivers/platform/x86/thinkpad_acpi.c~thinkpad-acpi-fix-detection-of-old-thinkpads
+++ a/drivers/platform/x86/thinkpad_acpi.c
@@ -1680,36 +1680,48 @@ static void tpacpi_remove_driver_attribu
| (__bv1) << 8 | (__bv2) }
#define TPV_Q_X(__v, __bid1, __bid2, __bv1, __bv2, \
- __eid1, __eid2, __ev1, __ev2) \
+ __eid, __ev1, __ev2) \
{ .vendor = (__v), \
.bios = TPID(__bid1, __bid2), \
- .ec = TPID(__eid1, __eid2), \
+ .ec = __eid, \
.quirks = (__ev1) << 24 | (__ev2) << 16 \
| (__bv1) << 8 | (__bv2) }
#define TPV_QI0(__id1, __id2, __bv1, __bv2) \
TPV_Q(PCI_VENDOR_ID_IBM, __id1, __id2, __bv1, __bv2)
+/* Outdated IBM BIOSes often lack the EC id string */
#define TPV_QI1(__id1, __id2, __bv1, __bv2, __ev1, __ev2) \
TPV_Q_X(PCI_VENDOR_ID_IBM, __id1, __id2, \
- __bv1, __bv2, __id1, __id2, __ev1, __ev2)
+ __bv1, __bv2, TPID(__id1, __id2), \
+ __ev1, __ev2), \
+ TPV_Q_X(PCI_VENDOR_ID_IBM, __id1, __id2, \
+ __bv1, __bv2, TPACPI_MATCH_UNKNOWN, \
+ __ev1, __ev2)
+/* Outdated IBM BIOSes often lack the EC id string */
#define TPV_QI2(__bid1, __bid2, __bv1, __bv2, \
__eid1, __eid2, __ev1, __ev2) \
TPV_Q_X(PCI_VENDOR_ID_IBM, __bid1, __bid2, \
- __bv1, __bv2, __eid1, __eid2, __ev1, __ev2)
+ __bv1, __bv2, TPID(__eid1, __eid2), \
+ __ev1, __ev2), \
+ TPV_Q_X(PCI_VENDOR_ID_IBM, __bid1, __bid2, \
+ __bv1, __bv2, TPACPI_MATCH_UNKNOWN, \
+ __ev1, __ev2)
#define TPV_QL0(__id1, __id2, __bv1, __bv2) \
TPV_Q(PCI_VENDOR_ID_LENOVO, __id1, __id2, __bv1, __bv2)
#define TPV_QL1(__id1, __id2, __bv1, __bv2, __ev1, __ev2) \
TPV_Q_X(PCI_VENDOR_ID_LENOVO, __id1, __id2, \
- __bv1, __bv2, __id1, __id2, __ev1, __ev2)
+ __bv1, __bv2, TPID(__id1, __id2), \
+ __ev1, __ev2)
#define TPV_QL2(__bid1, __bid2, __bv1, __bv2, \
__eid1, __eid2, __ev1, __ev2) \
TPV_Q_X(PCI_VENDOR_ID_LENOVO, __bid1, __bid2, \
- __bv1, __bv2, __eid1, __eid2, __ev1, __ev2)
+ __bv1, __bv2, TPID(__eid1, __eid2), \
+ __ev1, __ev2)
static const struct tpacpi_quirk tpacpi_bios_version_qtable[] __initconst = {
/* Numeric models ------------------ */
_
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch for 2.6.32? 2/2] thinkpad-acpi: fix detection of old ThinkPads
2009-11-17 22:07 [patch for 2.6.32? 2/2] thinkpad-acpi: fix detection of old ThinkPads akpm
@ 2009-11-20 12:05 ` Henrique de Moraes Holschuh
2009-11-20 16:41 ` Andrew Morton
2009-11-25 5:41 ` Len Brown
1 sibling, 1 reply; 4+ messages in thread
From: Henrique de Moraes Holschuh @ 2009-11-20 12:05 UTC (permalink / raw)
To: akpm; +Cc: lenb, linux-acpi, bjorn.helgaas, kimoto, rjw
On Tue, 17 Nov 2009, akpm@linux-foundation.org wrote:
> From: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
>
> There is a problem in the quirk tables used by tpacpi_is_fw_known() and
> tpacpi_check_outdated_fw(), which causes outdated BIOSes that are lacking
> the EC firmware ID DMI field to never match.
>
> This breaks module loading on, e.g. a T23 with outdated BIOS, and the
> module will refuse to load unless the "force_load=1" parameter is given.
>
> Fix the quirk tables so that they can also match the outdated BIOSes,
> which in turn will both fix the module loading, and also warn the user
> that he is using outdated firmware and should upgrade.
>
> This fixes a serious regression, introduced by commit
> e675abafcc0df38125e6e94a9ba91c92fe774f52, "thinkpad-acpi: be more strict
> when detecting a ThinkPad".
>
> Addresses http://bugzilla.kernel.org/show_bug.cgi?id=14597
>
> Reported-by: Paul Kimoto <kimoto@lightlink.com>
> Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
> Tested-by: Paul Kimoto <kimoto@lightlink.com>
> Cc: Len Brown <lenb@kernel.org>
> Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
> Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This patch is not in -rc8. Andrew, Len, can one of you please send it to
Linus for merge in mainline? It will hit enough users that I'd really
prefer it to not wait for a -stable release.
--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch for 2.6.32? 2/2] thinkpad-acpi: fix detection of old ThinkPads
2009-11-20 12:05 ` Henrique de Moraes Holschuh
@ 2009-11-20 16:41 ` Andrew Morton
0 siblings, 0 replies; 4+ messages in thread
From: Andrew Morton @ 2009-11-20 16:41 UTC (permalink / raw)
To: Henrique de Moraes Holschuh; +Cc: lenb, linux-acpi, bjorn.helgaas, kimoto, rjw
On Fri, 20 Nov 2009 10:05:28 -0200 Henrique de Moraes Holschuh <hmh@hmh.eng.br> wrote:
> On Tue, 17 Nov 2009, akpm@linux-foundation.org wrote:
> > From: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
> >
> > There is a problem in the quirk tables used by tpacpi_is_fw_known() and
> > tpacpi_check_outdated_fw(), which causes outdated BIOSes that are lacking
> > the EC firmware ID DMI field to never match.
> >
> > This breaks module loading on, e.g. a T23 with outdated BIOS, and the
> > module will refuse to load unless the "force_load=1" parameter is given.
> >
> > Fix the quirk tables so that they can also match the outdated BIOSes,
> > which in turn will both fix the module loading, and also warn the user
> > that he is using outdated firmware and should upgrade.
> >
> > This fixes a serious regression, introduced by commit
> > e675abafcc0df38125e6e94a9ba91c92fe774f52, "thinkpad-acpi: be more strict
> > when detecting a ThinkPad".
> >
> > Addresses http://bugzilla.kernel.org/show_bug.cgi?id=14597
> >
> > Reported-by: Paul Kimoto <kimoto@lightlink.com>
> > Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
> > Tested-by: Paul Kimoto <kimoto@lightlink.com>
> > Cc: Len Brown <lenb@kernel.org>
> > Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
> > Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
>
> This patch is not in -rc8. Andrew, Len, can one of you please send it to
> Linus for merge in mainline? It will hit enough users that I'd really
> prefer it to not wait for a -stable release.
>
Yes, I'll send it in.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch for 2.6.32? 2/2] thinkpad-acpi: fix detection of old ThinkPads
2009-11-17 22:07 [patch for 2.6.32? 2/2] thinkpad-acpi: fix detection of old ThinkPads akpm
2009-11-20 12:05 ` Henrique de Moraes Holschuh
@ 2009-11-25 5:41 ` Len Brown
1 sibling, 0 replies; 4+ messages in thread
From: Len Brown @ 2009-11-25 5:41 UTC (permalink / raw)
To: akpm; +Cc: linux-acpi, hmh, bjorn.helgaas, kimoto, rjw
applied for 2.6.32
thanks,
Len Brown, Intel Open Source Technology Center
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-11-25 5:41 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-17 22:07 [patch for 2.6.32? 2/2] thinkpad-acpi: fix detection of old ThinkPads akpm
2009-11-20 12:05 ` Henrique de Moraes Holschuh
2009-11-20 16:41 ` Andrew Morton
2009-11-25 5:41 ` Len Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox