OSDN Git Service

RDMA/hns: Fix QP state judgement before receiving work requests
authorYixian Liu <liuyixian@huawei.com>
Wed, 7 Feb 2018 09:49:29 +0000 (17:49 +0800)
committerJason Gunthorpe <jgg@mellanox.com>
Wed, 14 Feb 2018 23:30:12 +0000 (16:30 -0700)
The QP can accept receive work requests only when the QP is
in the states that allow them to be submitted.

This patch updates the QP state judgement based on the
specification.

Signed-off-by: Yixian Liu <liuyixian@huawei.com>
Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/hns/hns_roce_hw_v2.c

index db2ff35..0aa7483 100644 (file)
@@ -509,7 +509,7 @@ static int hns_roce_v2_post_recv(struct ib_qp *ibqp, struct ib_recv_wr *wr,
        spin_lock_irqsave(&hr_qp->rq.lock, flags);
        ind = hr_qp->rq.head & (hr_qp->rq.wqe_cnt - 1);
 
-       if (hr_qp->state == IB_QPS_RESET || hr_qp->state == IB_QPS_ERR) {
+       if (hr_qp->state == IB_QPS_RESET) {
                spin_unlock_irqrestore(&hr_qp->rq.lock, flags);
                *bad_wr = wr;
                return -EINVAL;