On Thu, Jun 06, 2013 at 12:54:31PM +0200, Christiano F. Haesbaert wrote:
> Hi,
> 
> We would like to switch mfii(4) to msi, there is a family of supermicro
> X9 motherboards with incorrect ioapic routing, so they only work properly
> though msi.
> 
> If you have a system with a mfii(4) device, please give this diff a spin
> and report back.
> 
> So far I was able to test on:
> 
> Supermicro X9DRH + Symbios Logic MegaRAID SAS2208
> Fujitsu primergy RX300 S7 + Symbios Logic MegaRAID SAS2208
> 
> Index: dev/pci/mfii.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/mfii.c,v
> retrieving revision 1.12
> diff -d -u -p -r1.12 mfii.c
> --- dev/pci/mfii.c    25 Aug 2012 07:03:04 -0000      1.12
> +++ dev/pci/mfii.c    6 Jun 2013 10:47:23 -0000
> @@ -307,7 +307,7 @@ mfii_attach(struct device *parent, struc
>       /* disable interrupts */
>       mfii_write(sc, MFI_OMSK, 0xffffffff);
>  
> -     if (pci_intr_map(pa, &ih) != 0) {
> +     if (pci_intr_map_msi(pa, &ih) != 0 && pci_intr_map(pa, &ih) != 0) {
>               printf(": unable to map interrupt\n");
>               goto pci_unmap;
>       }

So far I've received only one report where this diff makes it possible
to use the Supermicro branded AOC-S2208-H8iR LSI SAS 2208, where the
apic routing is probably busted too.

We're reaching the point where we'll see more machines with wrong apic
routing since most newer chips are only being tested with MSI enabled.
This is one case of it.

I'd like to commit this after release.

Reply via email to