Fix entropy thresholds
diff --git a/library/entropy.c b/library/entropy.c
index 3626d34..fa3dcde 100644
--- a/library/entropy.c
+++ b/library/entropy.c
@@ -250,7 +250,7 @@
 
 int mbedtls_entropy_func( void *data, unsigned char *output, size_t len )
 {
-    int ret, count = 0, i, reached;
+    int ret, count = 0, i, done;
     mbedtls_entropy_context *ctx = (mbedtls_entropy_context *) data;
     unsigned char buf[MBEDTLS_ENTROPY_BLOCK_SIZE];
 
@@ -276,13 +276,12 @@
         if( ( ret = entropy_gather_internal( ctx ) ) != 0 )
             goto exit;
 
-        reached = 0;
-
+        done = 1;
         for( i = 0; i < ctx->source_count; i++ )
-            if( ctx->source[i].size >= ctx->source[i].threshold )
-                reached++;
+            if( ctx->source[i].size < ctx->source[i].threshold )
+                done = 0;
     }
-    while( reached != ctx->source_count );
+    while( ! done );
 
     memset( buf, 0, MBEDTLS_ENTROPY_BLOCK_SIZE );