Hi,
This patch cancels a circular locking conflict that appeared with a
timeout of an AX25 connection.
signed off by Jarek Poplawski
--- linux-2.6.24-rc5/net/ax25/ax25_subr.c 2007-12-11 04:48:43.000000000
+0100
+++ b/net/ax25/ax25_subr.c 2007-12-14 14:30:02.000000000 +0100
@@ -279,6 +279,7 @@
ax25_link_failed(ax25, reason);
if (ax25->sk != NULL) {
+ local_bh_disable();
bh_lock_sock(ax25->sk);
ax25->sk->sk_state = TCP_CLOSE;
ax25->sk->sk_err = reason;
@@ -288,5 +289,6 @@
sock_set_flag(ax25->sk, SOCK_DEAD);
}
bh_unlock_sock(ax25->sk);
+ local_bh_enable();
}
}