Index: uspace/drv/char/ski-con/ski-con.c
===================================================================
--- uspace/drv/char/ski-con/ski-con.c	(revision 4f87a85ae8e0c4b41a1e0120338b46dd9654fc9c)
+++ uspace/drv/char/ski-con/ski-con.c	(revision aa3ca1e7a0ca1848bb0d11f96529f15bfd7c39be)
@@ -55,5 +55,6 @@
 static void ski_con_connection(ipc_call_t *, void *);
 
-static errno_t ski_con_read(chardev_srv_t *, void *, size_t, size_t *);
+static errno_t ski_con_read(chardev_srv_t *, void *, size_t, size_t *,
+    chardev_flags_t);
 static errno_t ski_con_write(chardev_srv_t *, const void *, size_t, size_t *);
 
@@ -260,5 +261,5 @@
 /** Read from Ski console device */
 static errno_t ski_con_read(chardev_srv_t *srv, void *buf, size_t size,
-    size_t *nread)
+    size_t *nread, chardev_flags_t flags)
 {
 	ski_con_t *con = (ski_con_t *) srv->srvs->sarg;
@@ -269,5 +270,6 @@
 	fibril_mutex_lock(&con->buf_lock);
 
-	while (circ_buf_nused(&con->cbuf) == 0)
+	while ((flags & chardev_f_nonblock) == 0 &&
+	    circ_buf_nused(&con->cbuf) == 0)
 		fibril_condvar_wait(&con->buf_cv, &con->buf_lock);
 
