diff options
| author | Ingo Molnar <mingo@kernel.org> | 2015-06-02 08:05:42 +0200 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2015-06-02 08:05:42 +0200 |
| commit | f407a8258610169cd8e975dba7f0b2824562014c (patch) | |
| tree | 6c87b2d168a4665411a9e16b9f481599f2db25bc /net/caif/caif_socket.c | |
| parent | 960d447b94b22ceba286917056871d1dac8da697 (diff) | |
| parent | c46a024ea5eb0165114dbbc8c82c29b7bcf66e71 (diff) | |
Merge branch 'linus' into sched/core, to resolve conflict
Conflicts:
arch/sparc/include/asm/topology_64.h
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'net/caif/caif_socket.c')
| -rw-r--r-- | net/caif/caif_socket.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/net/caif/caif_socket.c b/net/caif/caif_socket.c index 4ec0c803aef1..112ad784838a 100644 --- a/net/caif/caif_socket.c +++ b/net/caif/caif_socket.c @@ -330,6 +330,10 @@ static long caif_stream_data_wait(struct sock *sk, long timeo) release_sock(sk); timeo = schedule_timeout(timeo); lock_sock(sk); + + if (sock_flag(sk, SOCK_DEAD)) + break; + clear_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); } @@ -373,6 +377,10 @@ static int caif_stream_recvmsg(struct socket *sock, struct msghdr *msg, struct sk_buff *skb; lock_sock(sk); + if (sock_flag(sk, SOCK_DEAD)) { + err = -ECONNRESET; + goto unlock; + } skb = skb_dequeue(&sk->sk_receive_queue); caif_check_flow_release(sk); |
