summaryrefslogtreecommitdiffstats
path: root/net/iucv/af_iucv.c
diff options
context:
space:
mode:
authorHendrik Brueckner <brueckner@linux.vnet.ibm.com>2009-09-16 06:37:26 +0200
committerDavid S. Miller <davem@davemloft.net>2009-09-17 05:57:36 +0200
commit56a73de3889383b70ed1fef06aaab0677731b0ea (patch)
tree8317bd5d88e6c514bc5c49ee532fa1175a5081f2 /net/iucv/af_iucv.c
parentaf_iucv: fix race in __iucv_sock_wait() (diff)
downloadlinux-56a73de3889383b70ed1fef06aaab0677731b0ea.tar.xz
linux-56a73de3889383b70ed1fef06aaab0677731b0ea.zip
af_iucv: handle non-accepted sockets after resuming from suspend
After resuming from suspend, all af_iucv sockets are disconnected. Ensure that iucv_accept_dequeue() can handle disconnected sockets which are not yet accepted. Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com> Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/iucv/af_iucv.c')
-rw-r--r--net/iucv/af_iucv.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c
index 21ee68be02ee..a48fd2871532 100644
--- a/net/iucv/af_iucv.c
+++ b/net/iucv/af_iucv.c
@@ -569,6 +569,7 @@ struct sock *iucv_accept_dequeue(struct sock *parent, struct socket *newsock)
if (sk->sk_state == IUCV_CONNECTED ||
sk->sk_state == IUCV_SEVERED ||
+ sk->sk_state == IUCV_DISCONN || /* due to PM restore */
!newsock) {
iucv_accept_unlink(sk);
if (newsock)