@@ -32,6 +32,7 @@
#include "qapi/error.h"
#include "qapi/clone-visitor.h"
#include "qapi/qapi-visit-sockets.h"
+#include "sysemu/sysemu.h"
#include "chardev/char-io.h"
@@ -723,6 +724,11 @@ static void tcp_chr_tls_init(Chardev *chr)
Error *err = NULL;
gchar *name;
+ if (!machine_init_done) {
+ /* This will be postponed to machine_done notifier */
+ return;
+ }
+
if (s->is_listen) {
tioc = qio_channel_tls_new_server(
s->ioc, s->tls_creds,
@@ -1146,6 +1152,10 @@ static int tcp_chr_machine_done_hook(Chardev *chr)
tcp_chr_connect_async(chr);
}
+ if (s->ioc && s->tls_creds) {
+ tcp_chr_tls_init(chr);
+ }
+
return 0;
}