On Mon, Mar 09, 2020 at 12:51:32AM +0200, Iuliana Prodan wrote: > > ret = enginectx->op.do_one_request(engine, async_req); > - if (ret) { > - dev_err(engine->dev, "Failed to do one request from queue: %d\n", ret); > - goto req_err; > + can_enq_more = ret; > + if (can_enq_more < 0) { > + dev_err(engine->dev, "Failed to do one request from queue: %d\n", > + ret); > + goto req_err_1; > + } So this now includes the case of the hardware queue being full and the request needs to be queued until space opens up again. In this case, we should not do dev_err. So you need to be able to distinguish between the hardware queue being full vs. a real fatal error on the request (e.g., out-of-memory or some hardware failure). Thanks, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt