Index: generic/src/synch/condvar.c
===================================================================
--- generic/src/synch/condvar.c	(revision 9dfc69a964b24b4f3fb953d10cf5dcfcf50f1014)
+++ generic/src/synch/condvar.c	(revision d6e5cbc6f5fd409a91c10cc64f7841774bcf8b94)
@@ -75,12 +75,11 @@
  * @param mtx Mutex.
  * @param usec Timeout value in microseconds.
- * @param trywait Blocking versus non-blocking operation mode switch.
  *
- * For exact description of possible combinations of
- * usec and trywait, see comment for waitq_sleep_timeout().
+ * For exact description of meaning of possible values of usec,
+ * see comment for waitq_sleep_timeout().
  *
  * @return See comment for waitq_sleep_timeout().
  */
-int _condvar_wait_timeout(condvar_t *cv, mutex_t *mtx, __u32 usec, int trywait)
+int _condvar_wait_timeout(condvar_t *cv, mutex_t *mtx, __u32 usec)
 {
 	int rc;
@@ -89,6 +88,7 @@
 	ipl = waitq_sleep_prepare(&cv->wq);
 	mutex_unlock(mtx);
-	
-	rc = waitq_sleep_timeout_unsafe(&cv->wq, usec, trywait);
+
+	cv->wq.missed_wakeups = 0;	/* Enforce blocking. */
+	rc = waitq_sleep_timeout_unsafe(&cv->wq, usec, SYNCH_BLOCKING);
 
 	mutex_lock(mtx);
