@ -94,8 +94,6 @@ struct p9_trans_rdma {
struct ib_pd * pd ;
struct ib_qp * qp ;
struct ib_cq * cq ;
struct ib_mr * dma_mr ;
u32 lkey ;
long timeout ;
int sq_depth ;
struct semaphore sq_sem ;
@ -382,9 +380,6 @@ static void rdma_destroy_trans(struct p9_trans_rdma *rdma)
if ( ! rdma )
return ;
if ( rdma - > dma_mr & & ! IS_ERR ( rdma - > dma_mr ) )
ib_dereg_mr ( rdma - > dma_mr ) ;
if ( rdma - > qp & & ! IS_ERR ( rdma - > qp ) )
ib_destroy_qp ( rdma - > qp ) ;
@ -415,7 +410,7 @@ post_recv(struct p9_client *client, struct p9_rdma_context *c)
sge . addr = c - > busa ;
sge . length = client - > msize ;
sge . lkey = rdma - > lkey ;
sge . lkey = rdma - > pd - > local_dma_ lkey;
wr . next = NULL ;
c - > wc_op = IB_WC_RECV ;
@ -506,7 +501,7 @@ dont_need_post_recv:
sge . addr = c - > busa ;
sge . length = c - > req - > tc - > size ;
sge . lkey = rdma - > lkey ;
sge . lkey = rdma - > pd - > local_dma_ lkey;
wr . next = NULL ;
c - > wc_op = IB_WC_SEND ;
@ -647,7 +642,6 @@ rdma_create_trans(struct p9_client *client, const char *addr, char *args)
struct p9_trans_rdma * rdma ;
struct rdma_conn_param conn_param ;
struct ib_qp_init_attr qp_attr ;
struct ib_device_attr devattr ;
struct ib_cq_init_attr cq_attr = { } ;
/* Parse the transport specific mount options */
@ -700,11 +694,6 @@ rdma_create_trans(struct p9_client *client, const char *addr, char *args)
if ( err | | ( rdma - > state ! = P9_RDMA_ROUTE_RESOLVED ) )
goto error ;
/* Query the device attributes */
err = ib_query_device ( rdma - > cm_id - > device , & devattr ) ;
if ( err )
goto error ;
/* Create the Completion Queue */
cq_attr . cqe = opts . sq_depth + opts . rq_depth + 1 ;
rdma - > cq = ib_create_cq ( rdma - > cm_id - > device , cq_comp_handler ,
@ -719,17 +708,6 @@ rdma_create_trans(struct p9_client *client, const char *addr, char *args)
if ( IS_ERR ( rdma - > pd ) )
goto error ;
/* Cache the DMA lkey in the transport */
rdma - > dma_mr = NULL ;
if ( devattr . device_cap_flags & IB_DEVICE_LOCAL_DMA_LKEY )
rdma - > lkey = rdma - > cm_id - > device - > local_dma_lkey ;
else {
rdma - > dma_mr = ib_get_dma_mr ( rdma - > pd , IB_ACCESS_LOCAL_WRITE ) ;
if ( IS_ERR ( rdma - > dma_mr ) )
goto error ;
rdma - > lkey = rdma - > dma_mr - > lkey ;
}
/* Create the Queue Pair */
memset ( & qp_attr , 0 , sizeof qp_attr ) ;
qp_attr . event_handler = qp_event_handler ;