On Fri, Dec 13, 2024 at 05:07:44PM +0300, Alexey Romanov wrote: > > +static int meson_sha_digest(struct ahash_request *req) > +{ > + struct crypto_wait wait; > + int ret; > + > + crypto_init_wait(&wait); > + ahash_request_set_callback(req, CRYPTO_TFM_REQ_MAY_SLEEP | > + CRYPTO_TFM_REQ_MAY_BACKLOG, > + crypto_req_done, &wait); > + > + meson_sha_init(req); > + > + ret = crypto_wait_req(meson_sha_update(req), &wait); You cannot sleep in the digest function. Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt