summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorRobert Love <rlove@google.com>2009-10-19 10:42:35 -0400
committerColin Cross <ccross@android.com>2009-10-23 12:18:04 -0700
commit3b775374f2de86246e3c585560bf7b1e4006460d (patch)
treeac4a5376024afaa7d45fb805725782a73a6ca161 /net
parentbd5b3e225427acd3e6b241d79ea7236eaa7bbc59 (diff)
ipv4: disable bottom halves around call to tcp_done().
Signed-off-by: Robert Love <rlove@google.com> Signed-off-by: Colin Cross <ccross@android.com>
Diffstat (limited to 'net')
-rw-r--r--net/ipv4/tcp_ipv4.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
index ad0463df31b2..87696dcdeba7 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -1882,9 +1882,12 @@ restart:
sock_hold(sk);
spin_unlock_bh(lock);
+
+ local_bh_disable();
bh_lock_sock(sk);
tcp_done(sk);
bh_unlock_sock(sk);
+ local_bh_enable();
sock_put(sk);
goto restart;
@@ -2502,4 +2505,3 @@ EXPORT_SYMBOL(tcp_proc_register);
EXPORT_SYMBOL(tcp_proc_unregister);
#endif
EXPORT_SYMBOL(sysctl_tcp_low_latency);
-