Subject: [PATCH] x86, quirk: Fix SB600 revision check

From: Andreas Herrmann <[email protected]>

Commit 7f74f8f28a2bd9db9404f7d364e2097a0c42cc12
(x86 quirk: Fix polarity for IRQ0 pin2 override on SB800 systems)
introduced a regression. It removed some SB600 specific code
to determine the revision ID without adapting a corresponding
revision ID check for SB600.

See this mail thread
http://marc.info/?l=linux-kernel&m=129980296006380&w=2

This patch adapts the corresponding check to cover all SB600
revisions.

Cc: [email protected] # 38.x, 37.x, 32.x
Tested-by: Wang Lei <[email protected]>
Signed-off-by: Andreas Herrmann <[email protected]>
---
arch/x86/kernel/early-quirks.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)


Mea culpa!
A fix for a BIOS issue on some Lenovo systems introduced a regression
on another set of boxes (older HP Laptops) that have other BIOS
trouble.

Sorry for introducing this regression in .38.

Patch is on top of 2.6.38. Please apply.


Thanks,

Andreas


diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c
index 9efbdcc..3755ef4 100644
--- a/arch/x86/kernel/early-quirks.c
+++ b/arch/x86/kernel/early-quirks.c
@@ -159,7 +159,12 @@ static void __init ati_bugs_contd(int num, int slot, int func)
if (rev >= 0x40)
acpi_fix_pin2_polarity = 1;

- if (rev > 0x13)
+ /*
+ * SB600: revisions 0x11, 0x12, 0x13, 0x14, ...
+ * SB700: revisions 0x39, 0x3a, ...
+ * SB800: revisions 0x40, 0x41, ...
+ */
+ if (rev >= 0x39)
return;

if (acpi_use_timer_override)
--
1.7.4.1


Subject: [tip:x86/urgent] x86, quirk: Fix SB600 revision check

Commit-ID: 1d3e09a304e6c4e004ca06356578b171e8735d3c
Gitweb: http://git.kernel.org/tip/1d3e09a304e6c4e004ca06356578b171e8735d3c
Author: Andreas Herrmann <[email protected]>
AuthorDate: Tue, 15 Mar 2011 15:31:37 +0100
Committer: Ingo Molnar <[email protected]>
CommitDate: Wed, 16 Mar 2011 14:03:32 +0100

x86, quirk: Fix SB600 revision check

Commit 7f74f8f28a2bd9db9404f7d364e2097a0c42cc12
(x86 quirk: Fix polarity for IRQ0 pin2 override on SB800
systems) introduced a regression. It removed some SB600 specific
code to determine the revision ID without adapting a
corresponding revision ID check for SB600.

See this mail thread:

http://marc.info/?l=linux-kernel&m=129980296006380&w=2

This patch adapts the corresponding check to cover all SB600
revisions.

Tested-by: Wang Lei <[email protected]>
Signed-off-by: Andreas Herrmann <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: [email protected] # 38.x, 37.x, 32.x
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
---
arch/x86/kernel/early-quirks.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c
index 9efbdcc..3755ef4 100644
--- a/arch/x86/kernel/early-quirks.c
+++ b/arch/x86/kernel/early-quirks.c
@@ -159,7 +159,12 @@ static void __init ati_bugs_contd(int num, int slot, int func)
if (rev >= 0x40)
acpi_fix_pin2_polarity = 1;

- if (rev > 0x13)
+ /*
+ * SB600: revisions 0x11, 0x12, 0x13, 0x14, ...
+ * SB700: revisions 0x39, 0x3a, ...
+ * SB800: revisions 0x40, 0x41, ...
+ */
+ if (rev >= 0x39)
return;

if (acpi_use_timer_override)