From c3f0eb77596a3127959b51d4fcc5c524b048b440 Mon Sep 17 00:00:00 2001 From: Sjur Braendeland Date: Fri, 21 May 2010 02:16:07 +0000 Subject: [PATCH] --- yaml --- r: 198581 b: refs/heads/master c: 9e4b816bc31962ebbb8784d602acd5fa25a08ad8 h: refs/heads/master i: 198579: db9531a3176c1c7656f69fe7775dd5ab4da9245e v: v3 --- [refs] | 2 +- trunk/net/caif/caif_socket.c | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index bdacdc6f3417..e5b6157f9a1a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8ce6cebc2f126f3ecf2d80746ea54245adf18057 +refs/heads/master: 9e4b816bc31962ebbb8784d602acd5fa25a08ad8 diff --git a/trunk/net/caif/caif_socket.c b/trunk/net/caif/caif_socket.c index c3a70c5c893a..77e99568acda 100644 --- a/trunk/net/caif/caif_socket.c +++ b/trunk/net/caif/caif_socket.c @@ -920,17 +920,17 @@ static int caif_connect(struct socket *sock, struct sockaddr *uaddr, timeo = sock_sndtimeo(sk, flags & O_NONBLOCK); release_sock(sk); - err = wait_event_interruptible_timeout(*sk_sleep(sk), + err = -ERESTARTSYS; + timeo = wait_event_interruptible_timeout(*sk_sleep(sk), sk->sk_state != CAIF_CONNECTING, timeo); lock_sock(sk); - if (err < 0) + if (timeo < 0) goto out; /* -ERESTARTSYS */ - if (err == 0 && sk->sk_state != CAIF_CONNECTED) { - err = -ETIMEDOUT; - goto out; - } + err = -ETIMEDOUT; + if (timeo == 0 && sk->sk_state != CAIF_CONNECTED) + goto out; if (sk->sk_state != CAIF_CONNECTED) { sock->state = SS_UNCONNECTED; err = sock_error(sk); @@ -945,7 +945,6 @@ static int caif_connect(struct socket *sock, struct sockaddr *uaddr, return err; } - /* * caif_release() - Disconnect a CAIF Socket * Copied and modified af_irda.c:irda_release().