qemu_rdma_wait_comp_channel() returns 0 on success, and either -1 or
rdma->error_state on failure.  Callers actually expect a negative
error value.  I believe rdma->error_state can't be positive, but let's
make things more obvious by simply returning -1 on any failure.

Signed-off-by: Markus Armbruster <arm...@redhat.com>
---
 migration/rdma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/migration/rdma.c b/migration/rdma.c
index 3421ae0796..efbb3c7754 100644
--- a/migration/rdma.c
+++ b/migration/rdma.c
@@ -1588,7 +1588,7 @@ static int qemu_rdma_wait_comp_channel(RDMAContext *rdma,
     if (rdma->received_error) {
         return -EPIPE;
     }
-    return rdma->error_state;
+    return -!!rdma->error_state;
 }
 
 static struct ibv_comp_channel *to_channel(RDMAContext *rdma, uint64_t wrid)
-- 
2.41.0


Reply via email to