From bd82bbb1458a5bd038a3cc4b5495269d885f6dcb Mon Sep 17 00:00:00 2001 From: Andrew Gallatin Date: Wed, 23 May 2007 15:31:00 +0000 Subject: Fix a typo in pcib_alloc_msi{x} which resulted in the device's, not the bridge's, softc to be used to check the PCIB_DISABLE_MSI flag. This resulted in randomly allowing or denying MSI interrupts based on whatever value the driver happened to store at sizeof(device_t) bytes into its softc. I noticed this when I stopped getting MSI interrupts after slighly re-arranging mxge's softc yesterday. --- sys/dev/pci/pci_pci.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sys') diff --git a/sys/dev/pci/pci_pci.c b/sys/dev/pci/pci_pci.c index 1b9a3eb8e12b..e5204e0b1c70 100644 --- a/sys/dev/pci/pci_pci.c +++ b/sys/dev/pci/pci_pci.c @@ -551,7 +551,7 @@ pcib_route_interrupt(device_t pcib, device_t dev, int pin) int pcib_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, int *irqs) { - struct pcib_softc *sc = device_get_softc(dev); + struct pcib_softc *sc = device_get_softc(pcib); device_t bus; if (sc->flags & PCIB_DISABLE_MSI) @@ -575,7 +575,7 @@ pcib_release_msi(device_t pcib, device_t dev, int count, int *irqs) int pcib_alloc_msix(device_t pcib, device_t dev, int *irq) { - struct pcib_softc *sc = device_get_softc(dev); + struct pcib_softc *sc = device_get_softc(pcib); device_t bus; if (sc->flags & PCIB_DISABLE_MSI) -- cgit v1.2.3