From c1671a0876e87c6bd2b38f2966e1e3f8865117a6 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Mon, 12 Oct 2009 09:52:00 +0100 Subject: [PATCH] net: fix multiple NICs causing net opts process to stop For NICs, net_init_client() returns the index into the NICInfo table. qemu_opts_foreach() interprets non-zero as an error return an stops iterating over the options. So, if you have more than one '-net nic' on the command line, subsequent '-net' options do not get processed. Fix this by making net_client_init() only return non-zero if net_init_client() returns an error. Reported-by: Peter Lieven Patchworks-ID: 35736 Signed-off-by: Mark McLoughlin Signed-off-by: Anthony Liguori --- net.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/net.c b/net.c index ef40199..4708080 100644 --- a/net.c +++ b/net.c @@ -3302,7 +3302,9 @@ static void net_check_clients(void) static int net_init_client(QemuOpts *opts, void *dummy) { - return net_client_init(NULL, opts, 0); + if (net_client_init(NULL, opts, 0) < 0) + return -1; + return 0; } static int net_init_netdev(QemuOpts *opts, void *dummy) -- 2.7.4