1 From 223ac2f42d49dd0324ca02ea15897ead1a2f5133 Mon Sep 17 00:00:00 2001
2 From: Björn Steinbrink <B.Steinbrink@gmx.de>
3 Date: Mon, 31 Mar 2008 04:22:53 +0200
4 Subject: x86, pci: fix off-by-one errors in some pirq warnings
5 Message-Id: <200804181625.m3IGPGoF017447@hera.kernel.org>
7 From: Björn Steinbrink <B.Steinbrink@gmx.de>
9 commit 223ac2f42d49dd0324ca02ea15897ead1a2f5133 upstream.
11 fix bogus pirq warnings reported in:
13 http://bugzilla.kernel.org/show_bug.cgi?id=10366
15 safe to be backported to v2.6.25 and earlier.
17 Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
18 Signed-off-by: Ingo Molnar <mingo@elte.hu>
19 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
22 arch/x86/pci/irq.c | 12 ++++++------
23 1 file changed, 6 insertions(+), 6 deletions(-)
25 --- a/arch/x86/pci/irq.c
26 +++ b/arch/x86/pci/irq.c
27 @@ -200,7 +200,7 @@ static int pirq_ali_get(struct pci_dev *
29 static const unsigned char irqmap[16] = { 0, 9, 3, 10, 4, 5, 7, 6, 1, 11, 0, 12, 0, 14, 0, 15 };
31 - WARN_ON_ONCE(pirq >= 16);
32 + WARN_ON_ONCE(pirq > 16);
33 return irqmap[read_config_nybble(router, 0x48, pirq-1)];
36 @@ -209,7 +209,7 @@ static int pirq_ali_set(struct pci_dev *
37 static const unsigned char irqmap[16] = { 0, 8, 0, 2, 4, 5, 7, 6, 0, 1, 3, 9, 11, 0, 13, 15 };
38 unsigned int val = irqmap[irq];
40 - WARN_ON_ONCE(pirq >= 16);
41 + WARN_ON_ONCE(pirq > 16);
43 write_config_nybble(router, 0x48, pirq-1, val);
45 @@ -260,7 +260,7 @@ static int pirq_via586_get(struct pci_de
47 static const unsigned int pirqmap[5] = { 3, 2, 5, 1, 1 };
49 - WARN_ON_ONCE(pirq >= 5);
50 + WARN_ON_ONCE(pirq > 5);
51 return read_config_nybble(router, 0x55, pirqmap[pirq-1]);
54 @@ -268,7 +268,7 @@ static int pirq_via586_set(struct pci_de
56 static const unsigned int pirqmap[5] = { 3, 2, 5, 1, 1 };
58 - WARN_ON_ONCE(pirq >= 5);
59 + WARN_ON_ONCE(pirq > 5);
60 write_config_nybble(router, 0x55, pirqmap[pirq-1], irq);
63 @@ -282,7 +282,7 @@ static int pirq_ite_get(struct pci_dev *
65 static const unsigned char pirqmap[4] = { 1, 0, 2, 3 };
67 - WARN_ON_ONCE(pirq >= 4);
68 + WARN_ON_ONCE(pirq > 4);
69 return read_config_nybble(router,0x43, pirqmap[pirq-1]);
72 @@ -290,7 +290,7 @@ static int pirq_ite_set(struct pci_dev *
74 static const unsigned char pirqmap[4] = { 1, 0, 2, 3 };
76 - WARN_ON_ONCE(pirq >= 4);
77 + WARN_ON_ONCE(pirq > 4);
78 write_config_nybble(router, 0x43, pirqmap[pirq-1], irq);