[PATCH] 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>
This commit is contained in:
parent
f01f418259
commit
75cf7456dd
1 changed files with 4 additions and 2 deletions
|
@ -642,13 +642,15 @@ static void quirk_via_irq(struct pci_dev *dev)
|
||||||
new_irq = dev->irq & 0xf;
|
new_irq = dev->irq & 0xf;
|
||||||
pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
|
pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
|
||||||
if (new_irq != 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);
|
pci_name(dev), irq, new_irq);
|
||||||
udelay(15); /* unknown if delay really needed */
|
udelay(15); /* unknown if delay really needed */
|
||||||
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
|
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
|
* VIA VT82C598 has its device ID settable and many BIOSes
|
||||||
|
|
Loading…
Reference in a new issue