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