RxRPC: Fix the conversion to iov_iter
[firefly-linux-kernel-4.4.55.git] / net / rxrpc / ar-output.c
index 8331c95e152283d437b3dee9205cf37c9ce06271..833a33b5c1809da92696343fb362a6e86465aca9 100644 (file)
@@ -548,7 +548,7 @@ static int rxrpc_send_data(struct kiocb *iocb,
        copied = 0;
        if (len > iov_iter_count(&msg->msg_iter))
                len = iov_iter_count(&msg->msg_iter);
-       while (len) {
+       do {
                int copy;
 
                if (!skb) {
@@ -689,7 +689,7 @@ static int rxrpc_send_data(struct kiocb *iocb,
                        rxrpc_queue_packet(call, skb, !iov_iter_count(&msg->msg_iter) && !more);
                        skb = NULL;
                }
-       }
+       } while (len > 0);
 
 success:
        ret = copied;