You can import this changeset into BK by piping this whole message to:
'| bk receive [path to repository]' or apply the patch as usual.

===================================================================


ChangeSet@1.1422.1.7, 2003-11-13 01:11:54-02:00, acme@conectiva.com.br
  o TCP: use __sk_wait_data
  
  That basically is tcp_data_wait renamed and made useful for
  more protocols :-)


 tcp.c |   22 +---------------------
 1 files changed, 1 insertion(+), 21 deletions(-)


diff -Nru a/net/ipv4/tcp.c b/net/ipv4/tcp.c
--- a/net/ipv4/tcp.c	Sat Nov 15 17:01:51 2003
+++ b/net/ipv4/tcp.c	Sat Nov 15 17:01:51 2003
@@ -1367,26 +1367,6 @@
 		tcp_send_ack(sk);
 }
 
-/* Now socket state including sk->sk_err is changed only under lock,
- * hence we may omit checks after joining wait queue.
- * We check receive queue before schedule() only as optimization;
- * it is very likely that release_sock() added new data.
- */
-
-static long tcp_data_wait(struct sock *sk, long timeo)
-{
-	DEFINE_WAIT(wait);
-
-	prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE);
-
-	set_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags);
-	sk_wait_event(sk, &timeo, !skb_queue_empty(&sk->sk_receive_queue));
-	clear_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags);
-
-	finish_wait(sk->sk_sleep, &wait);
-	return timeo;
-}
-
 static void tcp_prequeue_process(struct sock *sk)
 {
 	struct sk_buff *skb;
@@ -1662,7 +1642,7 @@
 			/* Do not sleep, just process backlog. */
 			sk_flush_backlog(sk);
 		else
-			timeo = tcp_data_wait(sk, timeo);
+			__sk_wait_data(sk, &timeo);
 
 		if (user_recv) {
 			int chunk;

===================================================================


This BitKeeper patch contains the following changesets:
1.1422.1.7
## Wrapped with gzip_uu ##


M'XL( !]XMC\  ]V4;V_3,!#&7\>?XJ1)B F2^!SG3X.*!AT"!!)5V5Y7CNV1
MJ$U<Q5ZG2?GPN $V6A553+PBL>+$]^3)^>ZGG,&UU7T9"-EJ<@8?C'5E($VG
MI6NV(I*FC:K>!Q;&^$!<FU;'.VU<K5C<:1>R*(N0>,5<.%G#5O>V##!*'E;<
M_4:7P>+=^^O/;Q:$3*<PJT7W37_5#J93XDR_%6ME+X2KUZ:+7"\ZVVHW?GMX
MD Z,4N;/%/.$IMF &>7Y(%$A"HY:4<:+C)-=:A>'Z>^[)(B8^"MEZ8 \HRFY
M!(R0,Q9AE --8L08$Z!8(I8I#RDK*86CSO "(:3D+?S;7<R(! -7LWD)MU;#
M<FE7RSO1N*423OB8'U>U<% )VTBQ7M]#8\')S1@?E=#K3K1:@>@4M$+IG='-
M[1IN3._?;DVO8=,;9Z196RC#<_()D*=%3N:/[2'A7QZ$4$')ZQ/5\-3$S6;+
M8Y]Q)'\OR20M!E8423'(7!:J4 J9JC2KJN/E/V+UJ[O(J7_DK!B)V]>=QNXI
M*?Z!O:,IT@F=8,KXX">:CP"F_! ]3D^BQ_ _8>]'J[Y V-^-P[,T/^C:$VB\
MQ"2GWMO?9%D*2#[^G(,@V-_8<[MZ"<]<TVIS_NKQ;R9K+5?VMIWF*F>9RA/R
)'7:R^34P!0  
 
