IB/srp: send disconnect request without waiting for CM timewait exit
authorVu Pham <vu@mellanox.com>
Mon, 26 Nov 2012 10:57:47 +0000 (11:57 +0100)
committerRoland Dreier <roland@purestorage.com>
Sat, 1 Dec 2012 01:40:32 +0000 (17:40 -0800)
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>
drivers/infiniband/ulp/srp/ib_srp.c

index 85771eb..84d9298 100644 (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;