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>
This commit is contained in:
Vu Pham 2012-11-26 11:57:47 +01:00 committed by Roland Dreier
parent 73aa89ed9e
commit 55d93898a1

View File

@ -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;