diff options
Diffstat (limited to 'drivers/crypto/caam/qi.c')
-rw-r--r-- | drivers/crypto/caam/qi.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/crypto/caam/qi.c b/drivers/crypto/caam/qi.c index df60ae951ac5..6d15e7651e66 100644 --- a/drivers/crypto/caam/qi.c +++ b/drivers/crypto/caam/qi.c @@ -113,12 +113,12 @@ int caam_qi_enqueue(struct device *qidev, struct caam_drv_req *req) } do { - ret = qman_enqueue(req->drv_ctx->req_fq, &fd, 0); - if (likely(!ret)) { - refcount_inc(&req->drv_ctx->refcnt); + refcount_inc(&req->drv_ctx->refcnt); + ret = qman_enqueue(req->drv_ctx->req_fq, &fd); + if (likely(!ret)) return 0; - } + refcount_dec(&req->drv_ctx->refcnt); if (ret != -EBUSY) break; num_retries++; |