MINOR: mux-quic: add trace to stream rcv_buf operation

Add traces to render each stream transition more explicit. Also, move
ERR_PENDING to ERROR transition after other stream flags are set, as
with the MUX H2 implementation. This is purely a cosmetic change and it
should have no functional impact.

This should be backported up to 2.7.
diff --git a/src/mux_quic.c b/src/mux_quic.c
index 5fd8c74..7db0321 100644
--- a/src/mux_quic.c
+++ b/src/mux_quic.c
@@ -2644,10 +2644,11 @@
                           size_t count, int flags)
 {
 	struct qcs *qcs = __sc_mux_strm(sc);
+	struct qcc *qcc = qcs->qcc;
 	size_t ret = 0;
 	char fin = 0;
 
-	TRACE_ENTER(QMUX_EV_STRM_RECV, qcs->qcc->conn, qcs);
+	TRACE_ENTER(QMUX_EV_STRM_RECV, qcc->conn, qcs);
 
 	ret = qcs_http_rcv_buf(qcs, buf, count, &fin);
 
@@ -2656,11 +2657,10 @@
 	}
 	else {
 		se_fl_clr(qcs->sd, SE_FL_RCV_MORE | SE_FL_WANT_ROOM);
-		if (se_fl_test(qcs->sd, SE_FL_ERR_PENDING))
-			se_fl_set(qcs->sd, SE_FL_ERROR);
 
 		/* Set end-of-input if FIN received and all data extracted. */
 		if (fin) {
+			TRACE_STATE("report end-of-input", QMUX_EV_STRM_RECV, qcc->conn, qcs);
 			se_fl_set(qcs->sd, SE_FL_EOI);
 
 			/* If request EOM is reported to the upper layer, it means the
@@ -2669,6 +2669,11 @@
 			se_expect_data(qcs->sd);
 		}
 
+		if (se_fl_test(qcs->sd, SE_FL_ERR_PENDING)) {
+			TRACE_STATE("report error", QMUX_EV_STRM_RECV, qcc->conn, qcs);
+			se_fl_set(qcs->sd, SE_FL_ERROR);
+		}
+
 		if (b_size(&qcs->rx.app_buf)) {
 			b_free(&qcs->rx.app_buf);
 			offer_buffers(NULL, 1);
@@ -2684,11 +2689,11 @@
 		BUG_ON(!ncb_data(&qcs->rx.ncbuf, 0));
 
 		qcs->flags &= ~QC_SF_DEM_FULL;
-		if (!(qcs->qcc->flags & QC_CF_ERRL))
-			tasklet_wakeup(qcs->qcc->wait_event.tasklet);
+		if (!(qcc->flags & QC_CF_ERRL))
+			tasklet_wakeup(qcc->wait_event.tasklet);
 	}
 
-	TRACE_LEAVE(QMUX_EV_STRM_RECV, qcs->qcc->conn, qcs);
+	TRACE_LEAVE(QMUX_EV_STRM_RECV, qcc->conn, qcs);
 
 	return ret;
 }