BUG/MEDIUM: stream_interface: Only use SI_ST_RDY when the mux is ready.

In si_connect(), only switch the strema_interface status to SI_ST_RDY if
we're reusing a connection and if the connection's mux is ready. Otherwise,
maybe we're reusing a connection that is not fully established yet, and may
fail, and setting SI_ST_RDY would mean we would not be able to retry to
connect.

This should be backported to 1.9 and 2.0.
This commit depends on 55234e33708c5a584fb9efea81d71ac47235d518.

(cherry picked from commit 6e8e2ec8494f3ed92f0c80c8382f80072384a4f3)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
diff --git a/include/proto/stream_interface.h b/include/proto/stream_interface.h
index 63f1738..ca28bd4 100644
--- a/include/proto/stream_interface.h
+++ b/include/proto/stream_interface.h
@@ -521,7 +521,11 @@
 		/* try to reuse the existing connection, it will be
 		 * confirmed once we can send on it.
 		 */
-		si->state = SI_ST_RDY;
+		/* Is the connection really ready ? */
+		if (conn->mux->ctl(conn, MUX_STATUS, NULL) & MUX_STATUS_READY)
+			si->state = SI_ST_RDY;
+		else
+			si->state = SI_ST_CON;
 	}
 
 	/* needs src ip/port for logging */