patch-2.4.0-test11 linux/net/x25/x25_dev.c
Next file: linux/net/x25/x25_in.c
Previous file: linux/net/x25/af_x25.c
Back to the patch index
Back to the overall index
- Lines: 19
- Date:
Sun Nov 12 20:37:17 2000
- Orig file:
v2.4.0-test10/linux/net/x25/x25_dev.c
- Orig date:
Sun Oct 8 10:50:39 2000
diff -u --recursive --new-file v2.4.0-test10/linux/net/x25/x25_dev.c linux/net/x25/x25_dev.c
@@ -68,8 +68,17 @@
* Find an existing socket.
*/
if ((sk = x25_find_socket(lci, neigh)) != NULL) {
+ int queued = 1;
+
skb->h.raw = skb->data;
- return x25_process_rx_frame(sk, skb);
+ bh_lock_sock(sk);
+ if (!sk->lock.users) {
+ queued = x25_process_rx_frame(sk, skb);
+ } else {
+ sk_add_backlog(sk, skb);
+ }
+ bh_unlock_sock(sk);
+ return queued;
}
/*
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)