]>
Commit | Line | Data |
---|---|---|
188bff7c GKH |
1 | From nobody Mon Sep 17 00:00:00 2001 |
2 | From: Chris Wedgwood <cw@f00f.org> | |
3 | Date: Mon, 15 May 2006 09:43:55 -0700 | |
3401ab13 | 4 | Subject: VIA quirk fixup, additional PCI IDs |
188bff7c GKH |
5 | |
6 | An earlier commit (75cf7456dd87335f574dcd53c4ae616a2ad71a11) changed an | |
7 | overly-zealous PCI quirk to only poke those VIA devices that need it. | |
8 | However, some PCI devices were not included in what I hope is now the full | |
9 | list. Consequently we're failing to run the quirk on all machines which need | |
10 | it, causing IRQ routing failures. | |
11 | ||
12 | This should I hope correct this. | |
13 | ||
14 | Thanks to Masoud Sharbiani <masouds@masoud.ir> for pointing this out | |
15 | and testing the fix. | |
16 | ||
17 | Signed-off-by: Chris Wedgwood <cw@f00f.org> | |
18 | Signed-off-by: Andrew Morton <akpm@osdl.org> | |
19 | Signed-off-by: Linus Torvalds <torvalds@osdl.org> | |
20 | Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | |
70a83a42 | 21 | Signed-off-by: Chris Wright <chrisw@sous-sol.org> |
188bff7c GKH |
22 | |
23 | --- | |
24 | drivers/pci/quirks.c | 7 +++++++ | |
25 | 1 file changed, 7 insertions(+) | |
26 | ||
27 | --- linux-2.6.16.16.orig/drivers/pci/quirks.c | |
28 | +++ linux-2.6.16.16/drivers/pci/quirks.c | |
29 | @@ -631,6 +631,9 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_V | |
30 | * non-x86 architectures (yes Via exists on PPC among other places), | |
31 | * we must mask the PCI_INTERRUPT_LINE value versus 0xf to get | |
32 | * interrupts delivered properly. | |
33 | + * | |
34 | + * Some of the on-chip devices are actually '586 devices' so they are | |
35 | + * listed here. | |
36 | */ | |
37 | static void quirk_via_irq(struct pci_dev *dev) | |
38 | { | |
39 | @@ -645,6 +648,10 @@ static void quirk_via_irq(struct pci_dev | |
40 | pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq); | |
41 | } | |
42 | } | |
43 | +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_0, quirk_via_irq); | |
44 | +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1, quirk_via_irq); | |
45 | +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2, quirk_via_irq); | |
46 | +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_3, quirk_via_irq); | |
47 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_via_irq); | |
48 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_via_irq); | |
49 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irq); |