diff options
Diffstat (limited to 'drivers/infiniband/ulp/isert/ib_isert.c')
| -rw-r--r-- | drivers/infiniband/ulp/isert/ib_isert.c | 16 | 
1 files changed, 8 insertions, 8 deletions
| diff --git a/drivers/infiniband/ulp/isert/ib_isert.c b/drivers/infiniband/ulp/isert/ib_isert.c index 7305ed8976c2..18266f07c58d 100644 --- a/drivers/infiniband/ulp/isert/ib_isert.c +++ b/drivers/infiniband/ulp/isert/ib_isert.c @@ -438,23 +438,23 @@ isert_connect_request(struct rdma_cm_id *cma_id, struct rdma_cm_event *event)  	isert_init_conn(isert_conn);  	isert_conn->cm_id = cma_id; -	ret = isert_alloc_login_buf(isert_conn, cma_id->device); -	if (ret) -		goto out; -  	device = isert_device_get(cma_id);  	if (IS_ERR(device)) {  		ret = PTR_ERR(device); -		goto out_rsp_dma_map; +		goto out;  	}  	isert_conn->device = device; +	ret = isert_alloc_login_buf(isert_conn, cma_id->device); +	if (ret) +		goto out_conn_dev; +  	isert_set_nego_params(isert_conn, &event->param.conn);  	isert_conn->qp = isert_create_qp(isert_conn, cma_id);  	if (IS_ERR(isert_conn->qp)) {  		ret = PTR_ERR(isert_conn->qp); -		goto out_conn_dev; +		goto out_rsp_dma_map;  	}  	ret = isert_login_post_recv(isert_conn); @@ -473,10 +473,10 @@ isert_connect_request(struct rdma_cm_id *cma_id, struct rdma_cm_event *event)  out_destroy_qp:  	isert_destroy_qp(isert_conn); -out_conn_dev: -	isert_device_put(device);  out_rsp_dma_map:  	isert_free_login_buf(isert_conn); +out_conn_dev: +	isert_device_put(device);  out:  	kfree(isert_conn);  	rdma_reject(cma_id, NULL, 0, IB_CM_REJ_CONSUMER_DEFINED); | 
