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;
        }

Reply via email to