diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/pci/msi.c | 4 | ||||
| -rw-r--r-- | drivers/pci/quirks.c | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index 2087a397ef16..9855c4c920b8 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c | |||
| @@ -793,8 +793,10 @@ static int msix_capability_init(struct pci_dev *dev, | |||
| 793 | if (!entry) | 793 | if (!entry) |
| 794 | break; | 794 | break; |
| 795 | vector = get_msi_vector(dev); | 795 | vector = get_msi_vector(dev); |
| 796 | if (vector < 0) | 796 | if (vector < 0) { |
| 797 | kmem_cache_free(msi_cachep, entry); | ||
| 797 | break; | 798 | break; |
| 799 | } | ||
| 798 | 800 | ||
| 799 | j = entries[i].entry; | 801 | j = entries[i].entry; |
| 800 | entries[i].vector = vector; | 802 | entries[i].vector = vector; |
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index c42ae2cf8d64..19e2b174d33c 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
| @@ -642,13 +642,15 @@ static void quirk_via_irq(struct pci_dev *dev) | |||
| 642 | new_irq = dev->irq & 0xf; | 642 | new_irq = dev->irq & 0xf; |
| 643 | pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq); | 643 | pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq); |
| 644 | if (new_irq != irq) { | 644 | if (new_irq != irq) { |
| 645 | printk(KERN_INFO "PCI: Via IRQ fixup for %s, from %d to %d\n", | 645 | printk(KERN_INFO "PCI: VIA IRQ fixup for %s, from %d to %d\n", |
| 646 | pci_name(dev), irq, new_irq); | 646 | pci_name(dev), irq, new_irq); |
| 647 | udelay(15); /* unknown if delay really needed */ | 647 | udelay(15); /* unknown if delay really needed */ |
| 648 | pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq); | 648 | pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq); |
| 649 | } | 649 | } |
| 650 | } | 650 | } |
| 651 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq); | 651 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_via_irq); |
| 652 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_via_irq); | ||
| 653 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irq); | ||
| 652 | 654 | ||
| 653 | /* | 655 | /* |
| 654 | * VIA VT82C598 has its device ID settable and many BIOSes | 656 | * VIA VT82C598 has its device ID settable and many BIOSes |
