Hi, In the case when finup() is not used, just update/update/../final driver finalize calculation from the final function. It takes a time and if it may not sleep, can final() also return EINPROGRESS? Thanks, Dmitry ext Herbert Xu wrote: > Dmitry Kasatkin <dmitry.kasatkin@xxxxxxxxx> wrote: > >> Hello, >> >> I have one question about async api. >> >> I work on AHASH driver and wonder about one thing. >> >> while calculating hash, client might call many times >> >> ahash_request_set_crypt(req, &sg, sha1, len); >> crypto_ahash_update(req); >> .. >> .. >> ahash_request_set_crypt(req, &sg, sha1, len); >> crypto_ahash_finup(req); >> >> right? >> >> But because it is async and driver does not wait_for_completion, >> previous request may not be completed before client will call next update. >> >> But what should be the behavior of the driver? >> > > If any async operation returns EINPROGRESS, the client must not > proceed until that operation has completed. > > Cheers, > -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html