| From nobody Mon Sep 17 00:00:00 2001 |
| From: Chris Wedgwood <cw@f00f.org> |
| Date: Tue, 18 Apr 2006 23:57:09 -0700 |
| Subject: PCI quirk: VIA IRQ fixup should only run for VIA southbridges |
| |
| Alan Cox pointed out that the VIA 'IRQ fixup' was erroneously running |
| on my system which has no VIA southbridge (but I do have a VIA IEEE |
| 1394 device). |
| |
| This should address that. I also changed "Via IRQ" to "VIA IRQ" |
| (initially I read Via as a capitalized via (by way/means of). |
| |
| Signed-off-by: Chris Wedgwood <cw@f00f.org> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| Signed-off-by: Chris Wright <chrisw@sous-sol.org> |
| |
| --- |
| drivers/pci/quirks.c | 6 ++++-- |
| 1 file changed, 4 insertions(+), 2 deletions(-) |
| |
| --- linux-2.6.16.16.orig/drivers/pci/quirks.c |
| +++ linux-2.6.16.16/drivers/pci/quirks.c |
| @@ -639,13 +639,15 @@ static void quirk_via_irq(struct pci_dev |
| new_irq = dev->irq & 0xf; |
| pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq); |
| if (new_irq != irq) { |
| - printk(KERN_INFO "PCI: Via IRQ fixup for %s, from %d to %d\n", |
| + printk(KERN_INFO "PCI: VIA IRQ fixup for %s, from %d to %d\n", |
| pci_name(dev), irq, new_irq); |
| udelay(15); /* unknown if delay really needed */ |
| pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq); |
| } |
| } |
| -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq); |
| +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_via_irq); |
| +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_via_irq); |
| +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irq); |
| |
| /* |
| * VIA VT82C598 has its device ID settable and many BIOSes |