drbd: Bugfix for the connection behavior
[platform/adaptation/renesas_rcar/renesas_kernel.git] / drivers / block / drbd / drbd_receiver.c
index 8d52121..fff5565 100644 (file)
@@ -987,14 +987,9 @@ retry:
                }
        }
 
-       if (conn_request_state(tconn, NS(conn, C_WF_REPORT_PARAMS), CS_VERBOSE) < SS_SUCCESS)
-               return 0;
-
        sock->sk->sk_sndtimeo = timeout;
        sock->sk->sk_rcvtimeo = MAX_SCHEDULE_TIMEOUT;
 
-       drbd_thread_start(&tconn->asender);
-
        if (drbd_send_protocol(tconn) == -EOPNOTSUPP)
                return -1;
 
@@ -1008,6 +1003,11 @@ retry:
        }
        rcu_read_unlock();
 
+       if (conn_request_state(tconn, NS(conn, C_WF_REPORT_PARAMS), CS_VERBOSE) < SS_SUCCESS)
+               return 0;
+
+       drbd_thread_start(&tconn->asender);
+
        return h;
 
 out_release_sockets: