]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/2.6.16.17/PCI-VIA-quirk-fixup-additional-PCI-IDs.patch
4.9-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 2.6.16.17 / PCI-VIA-quirk-fixup-additional-PCI-IDs.patch
CommitLineData
188bff7c
GKH
1From nobody Mon Sep 17 00:00:00 2001
2From: Chris Wedgwood <cw@f00f.org>
3Date: Mon, 15 May 2006 09:43:55 -0700
3401ab13 4Subject: VIA quirk fixup, additional PCI IDs
188bff7c
GKH
5
6An earlier commit (75cf7456dd87335f574dcd53c4ae616a2ad71a11) changed an
7overly-zealous PCI quirk to only poke those VIA devices that need it.
8However, some PCI devices were not included in what I hope is now the full
9list. Consequently we're failing to run the quirk on all machines which need
10it, causing IRQ routing failures.
11
12This should I hope correct this.
13
14Thanks to Masoud Sharbiani <masouds@masoud.ir> for pointing this out
15and testing the fix.
16
17Signed-off-by: Chris Wedgwood <cw@f00f.org>
18Signed-off-by: Andrew Morton <akpm@osdl.org>
19Signed-off-by: Linus Torvalds <torvalds@osdl.org>
20Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
70a83a42 21Signed-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);