diff options
Diffstat (limited to 'net/sunrpc/xprtrdma/verbs.c')
-rw-r--r-- | net/sunrpc/xprtrdma/verbs.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/verbs.c index d94f379f36d7..a63d0c0ec017 100644 --- a/net/sunrpc/xprtrdma/verbs.c +++ b/net/sunrpc/xprtrdma/verbs.c | |||
@@ -338,10 +338,8 @@ connected: | |||
338 | wake_up_all(&ep->rep_connect_wait); | 338 | wake_up_all(&ep->rep_connect_wait); |
339 | break; | 339 | break; |
340 | default: | 340 | default: |
341 | ia->ri_async_rc = -EINVAL; | 341 | dprintk("RPC: %s: unexpected CM event %d\n", |
342 | dprintk("RPC: %s: unexpected CM event %X\n", | ||
343 | __func__, event->event); | 342 | __func__, event->event); |
344 | complete(&ia->ri_done); | ||
345 | break; | 343 | break; |
346 | } | 344 | } |
347 | 345 | ||
@@ -355,6 +353,8 @@ rpcrdma_create_id(struct rpcrdma_xprt *xprt, | |||
355 | struct rdma_cm_id *id; | 353 | struct rdma_cm_id *id; |
356 | int rc; | 354 | int rc; |
357 | 355 | ||
356 | init_completion(&ia->ri_done); | ||
357 | |||
358 | id = rdma_create_id(rpcrdma_conn_upcall, xprt, RDMA_PS_TCP); | 358 | id = rdma_create_id(rpcrdma_conn_upcall, xprt, RDMA_PS_TCP); |
359 | if (IS_ERR(id)) { | 359 | if (IS_ERR(id)) { |
360 | rc = PTR_ERR(id); | 360 | rc = PTR_ERR(id); |
@@ -427,8 +427,6 @@ rpcrdma_ia_open(struct rpcrdma_xprt *xprt, struct sockaddr *addr, int memreg) | |||
427 | struct ib_device_attr devattr; | 427 | struct ib_device_attr devattr; |
428 | struct rpcrdma_ia *ia = &xprt->rx_ia; | 428 | struct rpcrdma_ia *ia = &xprt->rx_ia; |
429 | 429 | ||
430 | init_completion(&ia->ri_done); | ||
431 | |||
432 | ia->ri_id = rpcrdma_create_id(xprt, ia, addr); | 430 | ia->ri_id = rpcrdma_create_id(xprt, ia, addr); |
433 | if (IS_ERR(ia->ri_id)) { | 431 | if (IS_ERR(ia->ri_id)) { |
434 | rc = PTR_ERR(ia->ri_id); | 432 | rc = PTR_ERR(ia->ri_id); |
@@ -815,6 +813,7 @@ retry: | |||
815 | goto out; | 813 | goto out; |
816 | } | 814 | } |
817 | /* END TEMP */ | 815 | /* END TEMP */ |
816 | rdma_destroy_qp(ia->ri_id); | ||
818 | rdma_destroy_id(ia->ri_id); | 817 | rdma_destroy_id(ia->ri_id); |
819 | ia->ri_id = id; | 818 | ia->ri_id = id; |
820 | } | 819 | } |