RDMA/i40iw: Set queue pair state when being queried
authorLiu, Changcheng <changcheng.liu@intel.com>
Fri, 28 Jun 2019 06:16:13 +0000 (14:16 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 4 Aug 2019 07:33:39 +0000 (09:33 +0200)
[ Upstream commit 2e67e775845373905d2c2aecb9062c2c4352a535 ]

The API for ib_query_qp requires the driver to set qp_state and
cur_qp_state on return, add the missing sets.

Fixes: d37498417947 ("i40iw: add files for iwarp interface")
Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
Acked-by: Shiraz Saleem <shiraz.saleem@intel.com>
Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/infiniband/hw/i40iw/i40iw_verbs.c

index 095912f..c3d2400 100644 (file)
@@ -812,6 +812,8 @@ static int i40iw_query_qp(struct ib_qp *ibqp,
        struct i40iw_qp *iwqp = to_iwqp(ibqp);
        struct i40iw_sc_qp *qp = &iwqp->sc_qp;
 
+       attr->qp_state = iwqp->ibqp_state;
+       attr->cur_qp_state = attr->qp_state;
        attr->qp_access_flags = 0;
        attr->cap.max_send_wr = qp->qp_uk.sq_size;
        attr->cap.max_recv_wr = qp->qp_uk.rq_size;