]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/2.6.25.1/x86-pci-fix-off-by-one-errors-in-some-pirq-warnings.patch
4.9-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 2.6.25.1 / x86-pci-fix-off-by-one-errors-in-some-pirq-warnings.patch
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>
6
7 From: Björn Steinbrink <B.Steinbrink@gmx.de>
8
9 commit 223ac2f42d49dd0324ca02ea15897ead1a2f5133 upstream.
10
11 fix bogus pirq warnings reported in:
12
13 http://bugzilla.kernel.org/show_bug.cgi?id=10366
14
15 safe to be backported to v2.6.25 and earlier.
16
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>
20
21 ---
22 arch/x86/pci/irq.c | 12 ++++++------
23 1 file changed, 6 insertions(+), 6 deletions(-)
24
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 *
28 {
29 static const unsigned char irqmap[16] = { 0, 9, 3, 10, 4, 5, 7, 6, 1, 11, 0, 12, 0, 14, 0, 15 };
30
31 - WARN_ON_ONCE(pirq >= 16);
32 + WARN_ON_ONCE(pirq > 16);
33 return irqmap[read_config_nybble(router, 0x48, pirq-1)];
34 }
35
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];
39
40 - WARN_ON_ONCE(pirq >= 16);
41 + WARN_ON_ONCE(pirq > 16);
42 if (val) {
43 write_config_nybble(router, 0x48, pirq-1, val);
44 return 1;
45 @@ -260,7 +260,7 @@ static int pirq_via586_get(struct pci_de
46 {
47 static const unsigned int pirqmap[5] = { 3, 2, 5, 1, 1 };
48
49 - WARN_ON_ONCE(pirq >= 5);
50 + WARN_ON_ONCE(pirq > 5);
51 return read_config_nybble(router, 0x55, pirqmap[pirq-1]);
52 }
53
54 @@ -268,7 +268,7 @@ static int pirq_via586_set(struct pci_de
55 {
56 static const unsigned int pirqmap[5] = { 3, 2, 5, 1, 1 };
57
58 - WARN_ON_ONCE(pirq >= 5);
59 + WARN_ON_ONCE(pirq > 5);
60 write_config_nybble(router, 0x55, pirqmap[pirq-1], irq);
61 return 1;
62 }
63 @@ -282,7 +282,7 @@ static int pirq_ite_get(struct pci_dev *
64 {
65 static const unsigned char pirqmap[4] = { 1, 0, 2, 3 };
66
67 - WARN_ON_ONCE(pirq >= 4);
68 + WARN_ON_ONCE(pirq > 4);
69 return read_config_nybble(router,0x43, pirqmap[pirq-1]);
70 }
71
72 @@ -290,7 +290,7 @@ static int pirq_ite_set(struct pci_dev *
73 {
74 static const unsigned char pirqmap[4] = { 1, 0, 2, 3 };
75
76 - WARN_ON_ONCE(pirq >= 4);
77 + WARN_ON_ONCE(pirq > 4);
78 write_config_nybble(router, 0x43, pirqmap[pirq-1], irq);
79 return 1;
80 }