diff options
author | Tony Lindgren <tony@atomide.com> | 2012-09-24 11:42:13 -0700 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2012-09-24 11:42:13 -0700 |
commit | 3fe05bd9980df7207a35b4841a94dc2875e86960 (patch) | |
tree | b5bb9287088955d2b4b4552b4a4ca9c4c40769a4 /net/core/sock.c | |
parent | 6bfc82ff589a00e5fbc12b958c649d703d273c86 (diff) | |
parent | 5698bd757d55b1bb87edd1a9744ab09c142abfc2 (diff) |
Merge tag 'v3.6-rc6' into devel-dt
Linux 3.6-rc6
Diffstat (limited to 'net/core/sock.c')
-rw-r--r-- | net/core/sock.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/net/core/sock.c b/net/core/sock.c index 8f67ced8d6a..30579207612 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -1523,7 +1523,14 @@ EXPORT_SYMBOL(sock_rfree); void sock_edemux(struct sk_buff *skb) { - sock_put(skb->sk); + struct sock *sk = skb->sk; + +#ifdef CONFIG_INET + if (sk->sk_state == TCP_TIME_WAIT) + inet_twsk_put(inet_twsk(sk)); + else +#endif + sock_put(sk); } EXPORT_SYMBOL(sock_edemux); |