MINOR: stream-int: make si_sync_recv() simply check ENDP before si_cs_recv()

Instead of checking complex conditions to call si_cs_recv() upon first
call, let's simply use si_rx_endp_ready() now that si_cs_recv() reports
it accurately, and add si_rx_blocked() to cover any blocking situation.
diff --git a/include/proto/stream_interface.h b/include/proto/stream_interface.h
index 92cfe4d..c726f87 100644
--- a/include/proto/stream_interface.h
+++ b/include/proto/stream_interface.h
@@ -443,7 +443,7 @@
 	if (si->wait_event.wait_reason & SUB_CAN_RECV)
 		return 0; // already subscribed
 
-	if (si->flags & SI_FL_RXBLK_ROOM && c_size(si_ic(si)))
+	if (!si_rx_endp_ready(si) || si_rx_blocked(si))
 		return 0; // already failed
 
 	return si_cs_recv(cs);