aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto/hisilicon
diff options
context:
space:
mode:
authorHui Tang <tanghui20@huawei.com>2020-08-15 17:56:11 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2020-08-21 14:47:51 +1000
commit71d1ca498735b33cae40e6e61e40d7e7abed5e6a (patch)
treedd5cc95a53bfc4211b61a8b3bf007e6673c35d8e /drivers/crypto/hisilicon
parentcrypto: hisilicon/qm - fix print frequence in hisi_qp_send (diff)
downloadlinux-dev-71d1ca498735b33cae40e6e61e40d7e7abed5e6a.tar.xz
linux-dev-71d1ca498735b33cae40e6e61e40d7e7abed5e6a.zip
crypto: hisilicon/qm - fix judgement of queue is full
The queue depth is 1024, so the condition for judging the queue full should be 1023, otherwise the hardware cannot judge whether the queue is empty or full. Fixes: 263c9959c937("crypto: hisilicon - add queue management driver...") Signed-off-by: Hui Tang <tanghui20@huawei.com> Signed-off-by: Yang Shen <shenyang39@huawei.com> Reviewed-by: Zhou Wang <wangzhou1@hisilicon.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/hisilicon')
-rw-r--r--drivers/crypto/hisilicon/qm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c
index 95a1b6c84b73..b9bff96f6e22 100644
--- a/drivers/crypto/hisilicon/qm.c
+++ b/drivers/crypto/hisilicon/qm.c
@@ -1647,7 +1647,7 @@ static void *qm_get_avail_sqe(struct hisi_qp *qp)
struct hisi_qp_status *qp_status = &qp->qp_status;
u16 sq_tail = qp_status->sq_tail;
- if (unlikely(atomic_read(&qp->qp_status.used) == QM_Q_DEPTH))
+ if (unlikely(atomic_read(&qp->qp_status.used) == QM_Q_DEPTH - 1))
return NULL;
return qp->sqe + sq_tail * qp->qm->sqe_size;