aboutsummaryrefslogtreecommitdiffstats
path: root/net/dccp/proto.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-12-30 20:39:37 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2008-12-30 20:39:37 -0500
commit5ed1836814d908f45cafde0e79cb85314ab9d41d (patch)
tree53db7ccf23c78d105b63adf4ee40a07068f0f856 /net/dccp/proto.c
parentab70537c32a3245325b48774664da588904e47f2 (diff)
parenteb4dea5853046727bfbb579f0c9a8cae7369f7c6 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: net: Fix percpu counters deadlock cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits: net drivers/net/usb: use USB API functions rather than constants cls_cgroup: clean up Kconfig cls_cgroup: clean up for cgroup part cls_cgroup: fix an oops when removing a cgroup EtherExpress16: fix printing timed out status mlx4_en: Added "set_ringparam" Ethtool interface implementation mlx4_en: Always allocate RX ring for each interrupt vector mlx4_en: Verify number of RX rings doesn't exceed MAX_RX_RINGS IPVS: Make "no destination available" message more consistent between schedulers net: KS8695: removed duplicated #include tun: Fix SIOCSIFHWADDR error. smsc911x: compile fix re netif_rx signature changes netns: foreach_netdev_safe is insufficient in default_device_exit net: make xfrm_statistics_seq_show use generic snmp_fold_field net: Fix more NAPI interface netdev argument drop fallout. net: Fix unused variable warnings in pasemi_mac.c and spider_net.c
Diffstat (limited to 'net/dccp/proto.c')
-rw-r--r--net/dccp/proto.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/dccp/proto.c b/net/dccp/proto.c
index d5c2bacb713c..1747ccae8e8d 100644
--- a/net/dccp/proto.c
+++ b/net/dccp/proto.c
@@ -964,7 +964,6 @@ adjudge_to_death:
964 state = sk->sk_state; 964 state = sk->sk_state;
965 sock_hold(sk); 965 sock_hold(sk);
966 sock_orphan(sk); 966 sock_orphan(sk);
967 percpu_counter_inc(sk->sk_prot->orphan_count);
968 967
969 /* 968 /*
970 * It is the last release_sock in its life. It will remove backlog. 969 * It is the last release_sock in its life. It will remove backlog.
@@ -978,6 +977,8 @@ adjudge_to_death:
978 bh_lock_sock(sk); 977 bh_lock_sock(sk);
979 WARN_ON(sock_owned_by_user(sk)); 978 WARN_ON(sock_owned_by_user(sk));
980 979
980 percpu_counter_inc(sk->sk_prot->orphan_count);
981
981 /* Have we already been destroyed by a softirq or backlog? */ 982 /* Have we already been destroyed by a softirq or backlog? */
982 if (state != DCCP_CLOSED && sk->sk_state == DCCP_CLOSED) 983 if (state != DCCP_CLOSED && sk->sk_state == DCCP_CLOSED)
983 goto out; 984 goto out;