aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/ulp
diff options
context:
space:
mode:
authorVu Pham <vu@mellanox.com>2012-11-26 05:57:47 -0500
committerRoland Dreier <roland@purestorage.com>2012-11-30 20:40:32 -0500
commit55d93898a14528a5d4199ba572bea1f0bec5870e (patch)
treeb4d5d6c7e35914df594f18712a51e32835665305 /drivers/infiniband/ulp
parent73aa89ed9e2bebf0c3fff4504e6dff1421b5c819 (diff)
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/ulp')
-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)
481 if (srp_change_conn_state(target, false)) { 481 if (srp_change_conn_state(target, false)) {
482 /* XXX should send SRP_I_LOGOUT request */ 482 /* XXX should send SRP_I_LOGOUT request */
483 483
484 init_completion(&target->done);
485 if (ib_send_cm_dreq(target->cm_id, NULL, 0)) { 484 if (ib_send_cm_dreq(target->cm_id, NULL, 0)) {
486 shost_printk(KERN_DEBUG, target->scsi_host, 485 shost_printk(KERN_DEBUG, target->scsi_host,
487 PFX "Sending CM DREQ failed\n"); 486 PFX "Sending CM DREQ failed\n");
488 } else {
489 wait_for_completion(&target->done);
490 } 487 }
491 } 488 }
492} 489}
@@ -1664,7 +1661,6 @@ static int srp_cm_handler(struct ib_cm_id *cm_id, struct ib_cm_event *event)
1664 shost_printk(KERN_ERR, target->scsi_host, 1661 shost_printk(KERN_ERR, target->scsi_host,
1665 PFX "connection closed\n"); 1662 PFX "connection closed\n");
1666 1663
1667 comp = 1;
1668 target->status = 0; 1664 target->status = 0;
1669 break; 1665 break;
1670 1666