summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband
diff options
context:
space:
mode:
authorVu Pham <vu@mellanox.com>2012-11-26 11:57:47 +0100
committerRoland Dreier <roland@purestorage.com>2012-12-01 02:40:32 +0100
commit55d93898a14528a5d4199ba572bea1f0bec5870e (patch)
treeb4d5d6c7e35914df594f18712a51e32835665305 /drivers/infiniband
parentIB/srp: destroy and recreate QP and CQs when reconnecting (diff)
downloadlinux-55d93898a14528a5d4199ba572bea1f0bec5870e.tar.xz
linux-55d93898a14528a5d4199ba572bea1f0bec5870e.zip
IB/srp: send disconnect request without waiting for CM timewait exit
Now that SRP recreates the CM ID, QP, and CQ for each connection, there is no need to wait for the timewait state to complete. Signed-off-by: Vu Pham <vu@mellanox.com> Signed-off-by: David Dillow <dillowda@ornl.gov> Signed-off-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r--drivers/infiniband/ulp/srp/ib_srp.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c
index 85771eba9c80..84d9298ed989 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.c
+++ b/drivers/infiniband/ulp/srp/ib_srp.c
@@ -481,12 +481,9 @@ static void srp_disconnect_target(struct srp_target_port *target)
if (srp_change_conn_state(target, false)) {
/* XXX should send SRP_I_LOGOUT request */
- init_completion(&target->done);
if (ib_send_cm_dreq(target->cm_id, NULL, 0)) {
shost_printk(KERN_DEBUG, target->scsi_host,
PFX "Sending CM DREQ failed\n");
- } else {
- wait_for_completion(&target->done);
}
}
}
@@ -1664,7 +1661,6 @@ static int srp_cm_handler(struct ib_cm_id *cm_id, struct ib_cm_event *event)
shost_printk(KERN_ERR, target->scsi_host,
PFX "connection closed\n");
- comp = 1;
target->status = 0;
break;