crypto: algif_aead - Only wake up when ctx->more is zero
[linux-2.6-microblaze.git] / crypto / algif_skcipher.c
index ec5567c..a51ba22 100644 (file)
@@ -61,8 +61,8 @@ static int _skcipher_recvmsg(struct socket *sock, struct msghdr *msg,
        int err = 0;
        size_t len = 0;
 
-       if (!ctx->used) {
-               err = af_alg_wait_for_data(sk, flags);
+       if (!ctx->init || (ctx->more && ctx->used < bs)) {
+               err = af_alg_wait_for_data(sk, flags, bs);
                if (err)
                        return err;
        }