summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband
diff options
context:
space:
mode:
authorYonatan Cohen <yonatanc@mellanox.com>2016-11-16 09:39:18 +0100
committerDoug Ledford <dledford@redhat.com>2016-11-17 02:03:44 +0100
commit6d931308f55faaef3f30bd0346c47f99528b229d (patch)
tree455fb5bd1eeadf3572275aabcc57e47e4c1933c2 /drivers/infiniband
parentIB/rxe: Clear queue buffer when modifying QP to reset (diff)
downloadlinux-6d931308f55faaef3f30bd0346c47f99528b229d.tar.xz
linux-6d931308f55faaef3f30bd0346c47f99528b229d.zip
IB/rxe: Update qp state for user query
The method rxe_qp_error() transitions QP to error state and make sure the QP is drained. It did not though update the QP state for user's query. This patch fixes this. Fixes: 8700e3e7c485 ("Soft RoCE driver") Signed-off-by: Yonatan Cohen <yonatanc@mellanox.com> Reviewed-by: Moni Shoua <monis@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r--drivers/infiniband/sw/rxe/rxe_qp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/infiniband/sw/rxe/rxe_qp.c b/drivers/infiniband/sw/rxe/rxe_qp.c
index 95aaaa282a04..c3e60e4bde6e 100644
--- a/drivers/infiniband/sw/rxe/rxe_qp.c
+++ b/drivers/infiniband/sw/rxe/rxe_qp.c
@@ -574,6 +574,7 @@ void rxe_qp_error(struct rxe_qp *qp)
{
qp->req.state = QP_STATE_ERROR;
qp->resp.state = QP_STATE_ERROR;
+ qp->attr.qp_state = IB_QPS_ERR;
/* drain work and packet queues */
rxe_run_task(&qp->resp.task, 1);