diff --git a/server/display-channel.c b/server/display-channel.c index f0ff2bde..32d87afb 100644 --- a/server/display-channel.c +++ b/server/display-channel.c @@ -1205,11 +1205,14 @@ int display_channel_wait_for_migrate_data(DisplayChannel *display) RedChannel *channel = &display->common.base; RedChannelClient *rcc; + if (!red_channel_waits_for_migrate_data(&display->common.base)) { + return FALSE; + } + spice_debug(NULL); - spice_assert(channel->clients_num == 1); + spice_warn_if_fail(channel->clients_num == 1); rcc = SPICE_CONTAINEROF(ring_get_head(&channel->clients), RedChannelClient, channel_link); - spice_assert(red_channel_client_waits_for_migrate_data(rcc)); for (;;) { red_channel_client_receive(rcc); diff --git a/server/red-worker.c b/server/red-worker.c index 84f9ad07..baa84587 100644 --- a/server/red-worker.c +++ b/server/red-worker.c @@ -973,9 +973,7 @@ static void handle_dev_start(void *opaque, void *payload) } if (worker->display_channel) { worker->display_channel->common.during_target_migrate = FALSE; - if (red_channel_waits_for_migrate_data(&worker->display_channel->common.base)) { - display_channel_wait_for_migrate_data(worker->display_channel); - } + display_channel_wait_for_migrate_data(worker->display_channel); } worker->running = TRUE; guest_set_client_capabilities(worker);