On Sun, Jun 21, 2020 at 11:07:56AM +1200, Barry Song wrote: > While using acomp_req, users may customize a completion callback, if the > backend of acomp is actually scomp, this callback will never be called. > This looks a bit messy to users. For one user, all scomp details should > be hidden by acomp APIs. > > But it won't cause any real problem if users simply use crypto_req_done() > as the callback, and further use crypto_wait_req() to wait for request to > be done since crypto_wait_req() depends on the callback only if queuing > acomp_req returns -EINPROGRESS or -EBUSY. > > This patch will make sure the customized completion callback is called > for the first case. And it won't break the second case in which users > use the common crypto_req_done() and crypto_wait_req() only. > > Signed-off-by: Barry Song <song.bao.hua@xxxxxxxxxxxxx> > --- > crypto/scompress.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/crypto/scompress.c b/crypto/scompress.c > index 738f4f8f0f41..634b7ced9348 100644 > --- a/crypto/scompress.c > +++ b/crypto/scompress.c > @@ -158,6 +158,10 @@ static int scomp_acomp_comp_decomp(struct acomp_req *req, int dir) > } > out: > spin_unlock(&scratch->lock); > + > + if (req->base.complete) > + acomp_request_complete(req, ret); > + > return ret; > } Nack. This is a deliberate optimisation to allow the sync code path to execute with no overhead. Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt