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"