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(); 
        }
 }

Reply via email to