Commit 5cc29e3b authored by Ralf Baechle's avatar Ralf Baechle Committed by David S. Miller

[NETROM]: Fix locking order when establishing a NETROM circuit.

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: default avatarRalf Baechle <ralf@linux-mips.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 95ff9f4d
...@@ -986,18 +986,18 @@ int nr_rx_frame(struct sk_buff *skb, struct net_device *dev) ...@@ -986,18 +986,18 @@ int nr_rx_frame(struct sk_buff *skb, struct net_device *dev)
nr_make->vl = 0; nr_make->vl = 0;
nr_make->state = NR_STATE_3; nr_make->state = NR_STATE_3;
sk_acceptq_added(sk); sk_acceptq_added(sk);
nr_insert_socket(make);
skb_queue_head(&sk->sk_receive_queue, skb); skb_queue_head(&sk->sk_receive_queue, skb);
nr_start_heartbeat(make);
nr_start_idletimer(make);
if (!sock_flag(sk, SOCK_DEAD)) if (!sock_flag(sk, SOCK_DEAD))
sk->sk_data_ready(sk, skb->len); sk->sk_data_ready(sk, skb->len);
bh_unlock_sock(sk); bh_unlock_sock(sk);
nr_insert_socket(make);
nr_start_heartbeat(make);
nr_start_idletimer(make);
return 1; return 1;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment