--- libvirt-0.9.12.orig/src/util/virnetdevopenvswitch.c
+++ libvirt-0.9.12/src/util/virnetdevopenvswitch.c
@@ -79,6 +79,7 @@ int virNetDevOpenvswitchAddPort(const ch
 
     cmd = virCommandNew(OVSVSCTL);
     if (ovsport->u.openvswitch.profileID[0] == '\0') {
+        virCommandAddArgList(cmd, "--no-wait", "--timeout", "5", "--", "--if-exists", "del-port", ifname, NULL);
         virCommandAddArgList(cmd, "--", "--may-exist", "add-port",
                         brname, ifname,
                         "--", "set", "Interface", ifname, attachedmac_ex_id,
@@ -88,6 +89,7 @@ int virNetDevOpenvswitchAddPort(const ch
                         "external-ids:iface-status=active",
                         NULL);
     } else {
+        virCommandAddArgList(cmd, "--no-wait", "--timeout", "5", "--", "--if-exists", "del-port", ifname, NULL);
         virCommandAddArgList(cmd, "--", "--may-exist", "add-port",
                         brname, ifname,
                         "--", "set", "Interface", ifname, attachedmac_ex_id,
@@ -134,7 +136,7 @@ int virNetDevOpenvswitchRemovePort(const
     virCommandPtr cmd = NULL;
 
     cmd = virCommandNew(OVSVSCTL);
-    virCommandAddArgList(cmd, "--", "--if-exists", "del-port", ifname, NULL);
+    virCommandAddArgList(cmd, "--no-wait", "--timeout", "5", "--", "--if-exists", "del-port", ifname, NULL);
 
     if (virCommandRun(cmd, NULL) < 0) {
         virReportSystemError(VIR_ERR_INTERNAL_ERROR,
