When establishing a new circuit in nr_rx_frame the locks are taken in a
different order than in the rest of the stack. This should be harmless
but triggers lockdep. Either way, reordering the code a little solves
the issue.
Signed-off-by: Ralf Baechle [EMAIL PROTECTED]
diff --git a/net/netrom/af_netrom.c b/net/netrom/af_netrom.c
index ecc7968..672d5f8 100644
--- a/net/netrom/af_netrom.c
+++ b/net/netrom/af_netrom.c
@@ -986,18 +986,18 @@ int nr_rx_frame(struct sk_buff *skb, str
nr_make-vl= 0;
nr_make-state = NR_STATE_3;
sk_acceptq_added(sk);
-
- nr_insert_socket(make);
-
skb_queue_head(sk-sk_receive_queue, skb);
- nr_start_heartbeat(make);
- nr_start_idletimer(make);
-
if (!sock_flag(sk, SOCK_DEAD))
sk-sk_data_ready(sk, skb-len);
bh_unlock_sock(sk);
+
+ nr_insert_socket(make);
+
+ nr_start_heartbeat(make);
+ nr_start_idletimer(make);
+
return 1;
}
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html