On 04.09.2017 08:53, Laurent Vivier wrote: > On 29/08/2017 20:13, Thomas Huth wrote: >> Broken with commit b4ba67d9a7025 ("libqos: Change PCI accessors to take >> opaque BAR handle") a while ago, but nobody noticed since the tests are >> only run in SPEED=slow mode: The msix_pba_bar is not correctly initialized > > you mean "SPEED=quick"?
Ah, well, that sentence was ambiguous - I meant "nobody noticed since the *ivshmem* tests are only run in SPEED=slow mode *and we are running the tests in quick mode only by default*". Maybe this could be fixed up when the patch is picked up... >> anymore if bir_pba has the same value as bir_table. With this fix, >> "make check SPEED=slow" should work fine again. >> >> Fixes: b4ba67d9a702507793c2724e56f98e9b0f7be02b >> Signed-off-by: Thomas Huth <th...@redhat.com> >> --- >> tests/libqos/pci.c | 7 ++++++- >> 1 file changed, 6 insertions(+), 1 deletion(-) >> >> diff --git a/tests/libqos/pci.c b/tests/libqos/pci.c >> index 2dcdead..28d576c 100644 >> --- a/tests/libqos/pci.c >> +++ b/tests/libqos/pci.c >> @@ -120,6 +120,8 @@ void qpci_msix_enable(QPCIDevice *dev) >> bir_pba = table & PCI_MSIX_FLAGS_BIRMASK; >> if (bir_pba != bir_table) { >> dev->msix_pba_bar = qpci_iomap(dev, bir_pba, NULL); >> + } else { >> + dev->msix_pba_bar = dev->msix_table_bar; >> } >> dev->msix_pba_off = table & ~PCI_MSIX_FLAGS_BIRMASK; >> >> @@ -138,8 +140,11 @@ void qpci_msix_disable(QPCIDevice *dev) >> qpci_config_writew(dev, addr + PCI_MSIX_FLAGS, >> val & >> ~PCI_MSIX_FLAGS_ENABLE); >> >> + if (dev->msix_pba_bar.addr != dev->msix_table_bar.addr) { >> + qpci_iounmap(dev, dev->msix_pba_bar); >> + } >> qpci_iounmap(dev, dev->msix_table_bar); >> - qpci_iounmap(dev, dev->msix_pba_bar); >> + >> dev->msix_enabled = 0; >> dev->msix_table_off = 0; >> dev->msix_pba_off = 0; >> > > Reviewed-by: Laurent Vivier <lviv...@redhat.com> Thanks! Thomas