drbd: Move the call to listen() out of drbd_accept()
authorPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 12 Jul 2012 08:22:48 +0000 (10:22 +0200)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 8 Nov 2012 15:58:29 +0000 (16:58 +0100)
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
drivers/block/drbd/drbd_receiver.c

index 1e9e5145e3c31d56df8f62ab33a56d6e8c793925..8f25095f390c4723072bf968673e25d1d07c5c05 100644 (file)
@@ -468,11 +468,6 @@ static int drbd_accept(const char **what, struct socket *sock, struct socket **n
        struct sock *sk = sock->sk;
        int err = 0;
 
-       *what = "listen";
-       err = sock->ops->listen(sock, 5);
-       if (err < 0)
-               goto out;
-
        *what = "sock_create_lite";
        err = sock_create_lite(sk->sk_family, sk->sk_type, sk->sk_protocol,
                               newsock);
@@ -742,6 +737,11 @@ static struct socket *drbd_wait_for_connect(struct drbd_tconn *tconn)
        if (err < 0)
                goto out;
 
+       what = "listen";
+       err = s_listen->ops->listen(s_listen, 5);
+       if (err < 0)
+               goto out;
+
        err = drbd_accept(&what, s_listen, &s_estab);
 
 out: