aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Ritz <daniel.ritz@gmx.ch>2006-11-15 17:07:33 +0100
committerAdrian Bunk <bunk@stusta.de>2006-11-15 17:07:33 +0100
commit9ca0bc2ceee9e65e71310336f40af7ca1a348fc2 (patch)
treeb36b1e80e660151c35850da580eadae290ad40a2
parent891bdfcddd44095747bdcdc18e348139fa6b9d70 (diff)
downloadlinux-linaro-stable-9ca0bc2ceee9e65e71310336f40af7ca1a348fc2.tar.gz
fix via586 irq routing for pirq 5
fix interrput routing for via 586 bridges. pirq can be 5 which needs to be mapped to INTD. but currently the access functions can handle only pirq 1-4. this is similar to the other via chipsets where pirq 4 and 5 are both mapped to INTD. fixes bugzilla #7490 Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch> Signed-off-by: Adrian Bunk <bunk@stusta.de>
-rw-r--r--arch/i386/pci/irq.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/i386/pci/irq.c b/arch/i386/pci/irq.c
index 3ca59cad05f3..e84f915b1398 100644
--- a/arch/i386/pci/irq.c
+++ b/arch/i386/pci/irq.c
@@ -256,13 +256,13 @@ static int pirq_via_set(struct pci_dev *router, struct pci_dev *dev, int pirq, i
*/
static int pirq_via586_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
{
- static unsigned int pirqmap[4] = { 3, 2, 5, 1 };
+ static unsigned int pirqmap[5] = { 3, 2, 5, 1, 1 };
return read_config_nybble(router, 0x55, pirqmap[pirq-1]);
}
static int pirq_via586_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
{
- static unsigned int pirqmap[4] = { 3, 2, 5, 1 };
+ static unsigned int pirqmap[5] = { 3, 2, 5, 1, 1 };
write_config_nybble(router, 0x55, pirqmap[pirq-1], irq);
return 1;
}