MINOR: quic: Send packets as much as possible from qc_send_app_pkts()

Add a loop into this function to send more packets from this function
which is called by the mux. It is broken when we could not prepare
packet with qc_prep_app_pkts() due to missing available room in the
buffer used to send packets. This improves the throughput.

Must be backported to 2.6.
diff --git a/src/xprt_quic.c b/src/xprt_quic.c
index 4a77db1..67ab817 100644
--- a/src/xprt_quic.c
+++ b/src/xprt_quic.c
@@ -3678,16 +3678,19 @@
 		/* Never happens */
 		return 1;
 
-	if (old_data)
-		qc->flags |= QUIC_FL_CONN_RETRANS_OLD_DATA;
-	ret = qc_prep_app_pkts(qc, qr, frms);
-	if (ret == -1)
-		goto err;
-	else if (ret == 0)
-		goto out;
+	/* Prepare and send packets until we could not further prepare packets. */
+	while (1) {
+		if (old_data)
+			qc->flags |= QUIC_FL_CONN_RETRANS_OLD_DATA;
+		ret = qc_prep_app_pkts(qc, qr, frms);
+		if (ret == -1)
+			goto err;
+		else if (ret == 0)
+			goto out;
 
-	if (!qc_send_ppkts(qr, qc->xprt_ctx))
-		goto err;
+		if (!qc_send_ppkts(qr, qc->xprt_ctx))
+			goto err;
+	}
 
  out:
 	qc->flags &= ~QUIC_FL_CONN_RETRANS_OLD_DATA;