From 947f5cdb93062fd4e56adbab9901bbbb8aa8b5cb Mon Sep 17 00:00:00 2001
From: Laurent Vivier <lvivier@redhat.com>
Date: Mon, 9 Dec 2024 17:54:50 +0100
Subject: [PATCH] tap: Call vu_init() with --fd

We need to initialize vhost-user structures with --fd too.

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
---
 tap.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tap.c b/tap.c
index b2d3045..cd32a90 100644
--- a/tap.c
+++ b/tap.c
@@ -1405,10 +1405,12 @@ void tap_sock_update_pool(void *base, size_t size)
  */
 void tap_backend_init(struct ctx *c)
 {
-	if (c->mode == MODE_VU)
+	if (c->mode == MODE_VU) {
 		tap_sock_update_pool(NULL, 0);
-	else
+		vu_init(c);
+	} else {
 		tap_sock_update_pool(pkt_buf, sizeof(pkt_buf));
+	}
 
 	if (c->fd_tap != -1) { /* Passed as --fd */
 		ASSERT(c->one_off);
@@ -1421,8 +1423,6 @@ void tap_backend_init(struct ctx *c)
 		tap_sock_tun_init(c);
 		break;
 	case MODE_VU:
-		vu_init(c);
-		/* fall through */
 	case MODE_PASST:
 		tap_sock_unix_init(c);