diff options
| -rw-r--r-- | drivers/infiniband/hw/qedr/verbs.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/infiniband/hw/qedr/verbs.c b/drivers/infiniband/hw/qedr/verbs.c index 9af2b4f3b62f..e31141be5b04 100644 --- a/drivers/infiniband/hw/qedr/verbs.c +++ b/drivers/infiniband/hw/qedr/verbs.c | |||
| @@ -2989,8 +2989,9 @@ int qedr_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr, | |||
| 2989 | 2989 | ||
| 2990 | spin_lock_irqsave(&qp->q_lock, flags); | 2990 | spin_lock_irqsave(&qp->q_lock, flags); |
| 2991 | 2991 | ||
| 2992 | if ((qp->state == QED_ROCE_QP_STATE_RESET) || | 2992 | if ((qp->state != QED_ROCE_QP_STATE_RTS) && |
| 2993 | (qp->state == QED_ROCE_QP_STATE_ERR)) { | 2993 | (qp->state != QED_ROCE_QP_STATE_ERR) && |
| 2994 | (qp->state != QED_ROCE_QP_STATE_SQD)) { | ||
| 2994 | spin_unlock_irqrestore(&qp->q_lock, flags); | 2995 | spin_unlock_irqrestore(&qp->q_lock, flags); |
| 2995 | *bad_wr = wr; | 2996 | *bad_wr = wr; |
| 2996 | DP_DEBUG(dev, QEDR_MSG_CQ, | 2997 | DP_DEBUG(dev, QEDR_MSG_CQ, |
| @@ -3043,8 +3044,7 @@ int qedr_post_recv(struct ib_qp *ibqp, struct ib_recv_wr *wr, | |||
| 3043 | 3044 | ||
| 3044 | spin_lock_irqsave(&qp->q_lock, flags); | 3045 | spin_lock_irqsave(&qp->q_lock, flags); |
| 3045 | 3046 | ||
| 3046 | if ((qp->state == QED_ROCE_QP_STATE_RESET) || | 3047 | if (qp->state == QED_ROCE_QP_STATE_RESET) { |
| 3047 | (qp->state == QED_ROCE_QP_STATE_ERR)) { | ||
| 3048 | spin_unlock_irqrestore(&qp->q_lock, flags); | 3048 | spin_unlock_irqrestore(&qp->q_lock, flags); |
| 3049 | *bad_wr = wr; | 3049 | *bad_wr = wr; |
| 3050 | return -EINVAL; | 3050 | return -EINVAL; |
