netdev-linux: Cache error code from set-policing.
[openvswitch] / lib / jsonrpc.c
index 764677114d4fa1ed32046d3bf4faaba28e56ea0a..09b10711ff851fd8ca861cbb1af429df14b0f842 100644 (file)
@@ -412,9 +412,11 @@ jsonrpc_transact_block(struct jsonrpc *rpc, struct jsonrpc_msg *request,
     if (!error) {
         for (;;) {
             error = jsonrpc_recv_block(rpc, &reply);
-            if (error
-                || (reply->type == JSONRPC_REPLY
-                    && json_equal(id, reply->id))) {
+            if (error) {
+                break;
+            }
+            if ((reply->type == JSONRPC_REPLY || reply->type == JSONRPC_ERROR)
+                && json_equal(id, reply->id)) {
                 break;
             }
             jsonrpc_msg_destroy(reply);