[PATCH v6 06/10] tests/qtest/ahci: don't unmap pci bar if it wasn't mapped
Jishnu Warrier <[email protected]>
| Newsgroups | gmane.comp.emulators.qemu |
|---|---|
| Message-ID | <[email protected]> |
From: Nicholas Piggin <[email protected]> ahci-test has a bunch of tests where the pci bar was not mapped. Avoid unmapping it in these cases, to keep iomaps balanced. Cc: Michael S. Tsirkin <[email protected]> Cc: Marcel Apfelbaum <[email protected]> Cc: Akihiko Odaki <[email protected]> Cc: Fabiano Rosas <[email protected]> Signed-off-by: Nicholas Piggin <[email protected]> --- tests/qtest/ahci-test.c | 3 +++ tests/qtest/libqos/ahci.c | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/qtest/ahci-test.c b/tests/qtest/ahci-test.c index 64bbdd49..43b5a38b 100644 --- a/tests/qtest/ahci-test.c +++ b/tests/qtest/ahci-test.c @@ -85,6 +85,8 @@ static void verify_state(AHCIQState *ahci, uint64_t hba_old) uint64_t hba_base; AHCICommandHeader cmd; + g_assert_cmphex(ahci->hba_bar.addr, ==, hba_old); + ahci_fingerprint = qpci_config_readl(ahci->dev, PCI_VENDOR_ID); g_assert_cmphex(ahci_fingerprint, ==, ahci->fingerprint); @@ -1421,6 +1423,7 @@ static void test_reset(void) ahci_set(ahci, AHCI_GHC, AHCI_GHC_HR); stop_ahci_device(ahci); ahci_clean_mem(ahci); + start_ahci_device(ahci); } ahci_shutdown(ahci); diff --git a/tests/qtest/libqos/ahci.c b/tests/qtest/libqos/ahci.c index f5859c6e..71d19a44 100644 --- a/tests/qtest/libqos/ahci.c +++ b/tests/qtest/libqos/ahci.c @@ -224,7 +224,7 @@ void start_ahci_device(AHCIQState *ahci) void stop_ahci_device(AHCIQState *ahci) { - /* Unmap AHCI's ABAR */ + /* Unmap AHCI's ABAR (no-op if not mapped) */ qpci_iounmap(ahci->dev, ahci->hba_bar); } @@ -249,6 +249,7 @@ void ahci_hba_enable(AHCIQState *ahci) uint8_t num_cmd_slots; g_assert(ahci != NULL); + g_assert(ahci->hba_bar.mapped); /* Set GHC.AE to 1 */ ahci_set(ahci, AHCI_GHC, AHCI_GHC_AE); -- 2.55.0