diff options
author | Andreas Herrmann <andreas.herrmann3@amd.com> | 2011-03-15 15:31:37 +0100 |
---|---|---|
committer | Willy Tarreau <w@1wt.eu> | 2011-04-30 16:53:17 +0200 |
commit | c9d58539fb70b5395b6ae6f09e5ade36f5bee207 (patch) | |
tree | 8c6a732bb51fc092c568ee917b26d4e60f68547a /arch | |
parent | d0d57ad143753293b2dfc52b13740234131c2f5d (diff) |
x86, quirk: Fix SB600 revision check
commit 1d3e09a304e6c4e004ca06356578b171e8735d3c upstream.
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 <f3d27b@gmail.com>
Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
LKML-Reference: <20110315143137.GD29499@alberich.amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'arch')
-rw-r--r-- | 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 1b894b72c0f..67a3a3d2c4b 100644 --- a/arch/x86/kernel/early-quirks.c +++ b/arch/x86/kernel/early-quirks.c @@ -163,7 +163,12 @@ static void __init ati_bugs_contd(int num, int slot, int func) return; rev = ati_sbx00_rev(num, slot, func); - if (rev > 0x13) + /* + * SB600: revisions 0x11, 0x12, 0x13, 0x14, ... + * SB700: revisions 0x39, 0x3a, ... + * SB800: revisions 0x40, 0x41, ... + */ + if (rev >= 0x39) return; /* check for IRQ0 interrupt swap */ |