Patchwork [1/1] net: fix multiple NICs causing net opts process to stop

login
register
mail settings
Submitter Mark McLoughlin
Date Oct. 12, 2009, 8:52 a.m.
Message ID <1255337520-30381-1-git-send-email-markmc@redhat.com>
Download mbox | patch
Permalink /patch/35736/
State Under Review
Headers show

Comments

Mark McLoughlin - Oct. 12, 2009, 8:52 a.m.
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 <pl@dlh.net>
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
---
 net.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

Patch

diff --git a/net.c b/net.c
index 2e4dd58..7cee404 100644
--- a/net.c
+++ b/net.c
@@ -3203,7 +3203,9 @@  static void net_check_clients(void)
 
 static int net_init_client(QemuOpts *opts, void *dummy)
 {
-    return net_client_init(NULL, opts);
+    if (net_client_init(NULL, opts) < 0)
+        return -1;
+    return 0;
 }
 
 int net_init_clients(void)