MEDIUM: stream-int: make si_chk_rcv() check that SI_FL_WAIT_ROOM is cleared

After careful inspection, it now seems OK to call si_chk_rcv() only when
SI_FL_WAIT_ROOM is cleared and SI_FL_WANT_PUT is set, since all identified
call places have already taken care of this.
diff --git a/include/proto/stream_interface.h b/include/proto/stream_interface.h
index 2d3fe56..54d9810 100644
--- a/include/proto/stream_interface.h
+++ b/include/proto/stream_interface.h
@@ -384,12 +384,13 @@
 }
 
 /* This is to be used after making some room available in a channel. It will
- * clear SI_FL_WAIT_ROOM, then if SI_FL_WANT_PUT is set, will calls ->chk_rcv()
- * to enable receipt of new data.
+ * return without doing anything if {SI_FL_WANT_PUT,SI_FL_WAIT_ROOM} != {1,0}.
+ * It will then call ->chk_rcv() to enable receipt of new data.
  */
 static inline void si_chk_rcv(struct stream_interface *si)
 {
-	si->flags &= ~SI_FL_WAIT_ROOM;
+	if (si->flags & SI_FL_WAIT_ROOM)
+		return;
 
 	if (!(si->flags & SI_FL_WANT_PUT))
 		return;