Am 11.06.2018 um 20:28 schrieb Harry Schmalzbauer:
Am 05.06.2018 um 19:54 schrieb Scott Long:
…
Late in the 11.2 phase, I identified this commit as a regression for MSI (non-x) alloctaion. I have an idea what probably causes the problem here (INTx allocation, although MSI (and MSI-x) capability): disable_msix is not 0 (I need to disable MSI-x because of ESXi-passthru…).

Corresponding lines:
{
         device_t dev;
         int error, msgs;

         dev = sc->mps_dev;
         error = 0;
         msgs = 0;

         if ((sc->disable_msix == 0) &&
             ((msgs = pci_msix_count(dev)) >= MPS_MSI_COUNT))
                 error = mps_alloc_msix(sc, MPS_MSI_COUNT);
         if ((error != 0) && (sc->disable_msi == 0) &&
             ((msgs = pci_msi_count(dev)) >= MPS_MSI_COUNT))
                 error = mps_alloc_msi(sc, MPS_MSI_COUNT);
         if (error != 0)
                 msgs = 0;

         sc->msi_msgs = msgs;
         return (error);
}

Hi Harry,
You are correct about the bug.  Please change the line at the top of the function that reads
error = 0;
to
error = ENXIO;
Let me know if that fixes the MSI problem for you.
Index: src/sys/dev/mps/mps_pci.c
===================================================================
--- sys/dev/mps/mps_pci.c   (Revision 334948)
+++ sys/dev/mps/mps_pci.c   (Arbeitskopie)
@@ -244,7 +244,7 @@
        int error, msgs;

        dev = sc->mps_dev;
-       error = 0;
+       error = ENXIO;
        msgs = 0;

        if ((sc->disable_msix == 0) &&


To my understanding, it's obvious that the way mps_pci_alloc_interrupts() currently works is unintended.
This might not affect too many people, but is there a reason not to fix it?

I already created a coresponding problem report: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=229267
Anything else I should do?

Thanks,

-harry

_______________________________________________
freebsd-stable@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to