aboutsummaryrefslogtreecommitdiffstats
path: root/net/x25/x25_timer.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2009-06-16 08:40:30 -0400
committerDavid S. Miller <davem@davemloft.net>2009-06-16 08:40:30 -0400
commit14ebaf81e13ce66bff275380b246796fd16cbfa1 (patch)
tree6da2824a42a07f325787130d093e1a986fa29110 /net/x25/x25_timer.c
parenta1870b9cc280fe16fed13994810f8a1687be3bcf (diff)
x25: Fix sleep from timer on socket destroy.
If socket destuction gets delayed to a timer, we try to lock_sock() from that timer which won't work. Use bh_lock_sock() in that case. Signed-off-by: David S. Miller <davem@davemloft.net> Tested-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'net/x25/x25_timer.c')
-rw-r--r--net/x25/x25_timer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/x25/x25_timer.c b/net/x25/x25_timer.c
index d3e3e54db936..5c5db1a36399 100644
--- a/net/x25/x25_timer.c
+++ b/net/x25/x25_timer.c
@@ -113,7 +113,7 @@ static void x25_heartbeat_expiry(unsigned long param)
113 (sk->sk_state == TCP_LISTEN && 113 (sk->sk_state == TCP_LISTEN &&
114 sock_flag(sk, SOCK_DEAD))) { 114 sock_flag(sk, SOCK_DEAD))) {
115 bh_unlock_sock(sk); 115 bh_unlock_sock(sk);
116 x25_destroy_socket(sk); 116 x25_destroy_socket_from_timer(sk);
117 return; 117 return;
118 } 118 }
119 break; 119 break;