Attempting to connect three times may be insufficient after an
initiator system tries to relogin, especially if the relogin
attempt occurs before the SRP target service ID has been
registered. Since the srp_daemon retries a failed login attempt
anyway, remove the stale connection retry mechanism.

Signed-off-by: Bart Van Assche <bvanass...@acm.org>
Reviewed-by: Sagi Grimberg <sa...@mellanox.com>
Cc: Sebastian Parschauer <sebastian.rie...@profitbricks.com>
---
 drivers/infiniband/ulp/srp/ib_srp.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/drivers/infiniband/ulp/srp/ib_srp.c 
b/drivers/infiniband/ulp/srp/ib_srp.c
index d3c712f..9608e7a 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.c
+++ b/drivers/infiniband/ulp/srp/ib_srp.c
@@ -904,7 +904,6 @@ static void srp_rport_delete(struct srp_rport *rport)
 
 static int srp_connect_target(struct srp_target_port *target)
 {
-       int retries = 3;
        int ret;
 
        WARN_ON_ONCE(target->connected);
@@ -945,19 +944,10 @@ static int srp_connect_target(struct srp_target_port 
*target)
                        break;
 
                case SRP_STALE_CONN:
-                       /* Our current CM id was stale, and is now in timewait.
-                        * Try to reconnect with a new one.
-                        */
-                       if (!retries-- || srp_new_cm_id(target)) {
-                               shost_printk(KERN_ERR, target->scsi_host, PFX
-                                            "giving up on stale connection\n");
-                               target->status = -ECONNRESET;
-                               return target->status;
-                       }
-
                        shost_printk(KERN_ERR, target->scsi_host, PFX
-                                    "retrying stale connection\n");
-                       break;
+                                    "giving up on stale connection\n");
+                       target->status = -ECONNRESET;
+                       return target->status;
 
                default:
                        return target->status;
-- 
1.8.4.5

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to