cvs commit: src/sys/dev/pci pci_pci.c

John Baldwin jhb at freebsd.org
Wed May 23 20:58:48 UTC 2007


On Wednesday 23 May 2007 03:00:30 pm Andrew Gallatin wrote:
> 
> Rui Paulo writes:
>  > At Wed, 23 May 2007 15:31:01 +0000 (UTC),
>  > Andrew Gallatin wrote:
>  > > 
>  > > gallatin    2007-05-23 15:31:01 UTC
>  > > 
>  > >   FreeBSD src repository
>  > > 
>  > >   Modified files:
>  > >     sys/dev/pci          pci_pci.c 
>  > >   Log:
>  > >   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.
>  > 
>  > Wow, I'll have to try this out on msk(4)..
> 
> To be clear, pci_alloc_msi() was failing, so MSI was not
> used at all.  It didn't affect the actual generation
> of interrupts once MSI is enabled..

In some cases it gave you MSI when it shouldn't have, too.  I do have at least 
one bug report on msk(4) that this might fix, as since it was checking the 
wrong softc, it could break on any system, not just ones with the broken 
bridges.

-- 
John Baldwin


More information about the cvs-src mailing list