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.4, 2003-11-12 14:20:50-02:00, acme@conectiva.com.br
  o BLUETOOTH: use prepare_to_wait/finish_wait


 af_bluetooth.c |    8 +++-----
 l2cap.c        |    9 ++++-----
 rfcomm/sock.c  |   18 +++++++-----------
 sco.c          |    9 ++++-----
 4 files changed, 18 insertions(+), 26 deletions(-)


diff -Nru a/net/bluetooth/af_bluetooth.c b/net/bluetooth/af_bluetooth.c
--- a/net/bluetooth/af_bluetooth.c	Sat Nov 15 17:02:12 2003
+++ b/net/bluetooth/af_bluetooth.c	Sat Nov 15 17:02:12 2003
@@ -272,14 +272,13 @@
 
 int bt_sock_wait_state(struct sock *sk, int state, unsigned long timeo)
 {
-	DECLARE_WAITQUEUE(wait, current);
+	DEFINE_WAIT(wait);
 	int err = 0;
 
 	BT_DBG("sk %p", sk);
 
-	add_wait_queue(sk->sk_sleep, &wait);
 	while (1) {
-		set_current_state(TASK_INTERRUPTIBLE);
+		prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE);
 		if (sk_wait_event(sk, &timeo, sk->sk_state == state))
 			break;
 
@@ -298,8 +297,7 @@
 			break;
 		}
 	}
-	set_current_state(TASK_RUNNING);
-	remove_wait_queue(sk->sk_sleep, &wait);
+	finish_wait(sk->sk_sleep, &wait);
 	return err;
 }
 
diff -Nru a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c
--- a/net/bluetooth/l2cap.c	Sat Nov 15 17:02:12 2003
+++ b/net/bluetooth/l2cap.c	Sat Nov 15 17:02:12 2003
@@ -565,7 +565,7 @@
 
 int l2cap_sock_accept(struct socket *sock, struct socket *newsock, int flags)
 {
-	DECLARE_WAITQUEUE(wait, current);
+	DEFINE_WAIT(wait);
 	struct sock *sk = sock->sk, *nsk;
 	long timeo;
 	int err = 0;
@@ -582,9 +582,9 @@
 	BT_DBG("sk %p timeo %ld", sk, timeo);
 
 	/* Wait for an incoming connection. (wake-one). */
-	add_wait_queue_exclusive(sk->sk_sleep, &wait);
 	while (1) {
-		set_current_state(TASK_INTERRUPTIBLE);
+		prepare_to_wait_exclusive(sk->sk_sleep, &wait,
+					  TASK_INTERRUPTIBLE);
 		if (sk_wait_event(sk, &timeo,
 				(nsk = bt_accept_dequeue(sk, newsock)) != NULL))
 			break;
@@ -604,8 +604,7 @@
 			break;
 		}
 	}
-	set_current_state(TASK_RUNNING);
-	remove_wait_queue(sk->sk_sleep, &wait);
+	finish_wait(sk->sk_sleep, &wait);
 
 	if (err)
 		goto done;
diff -Nru a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c
--- a/net/bluetooth/rfcomm/sock.c	Sat Nov 15 17:02:12 2003
+++ b/net/bluetooth/rfcomm/sock.c	Sat Nov 15 17:02:12 2003
@@ -409,7 +409,7 @@
 
 int rfcomm_sock_accept(struct socket *sock, struct socket *newsock, int flags)
 {
-	DECLARE_WAITQUEUE(wait, current);
+	DEFINE_WAIT(wait);
 	struct sock *sk = sock->sk, *nsk;
 	long timeo;
 	int err = 0;
@@ -426,9 +426,9 @@
 	BT_DBG("sk %p timeo %ld", sk, timeo);
 
 	/* Wait for an incoming connection. (wake-one). */
-	add_wait_queue_exclusive(sk->sk_sleep, &wait);
 	while (1) {
-		set_current_state(TASK_INTERRUPTIBLE);
+		prepare_to_wait_exclusive(sk->sk_sleep, &wait,
+					  TASK_INTERRUPTIBLE);
 		if (sk_wait_event(sk, &timeo,
 				(nsk = bt_accept_dequeue(sk, newsock)) != NULL))
 			break;
@@ -447,8 +447,7 @@
 			break;
 		}
 	}
-	set_current_state(TASK_RUNNING);
-	remove_wait_queue(sk->sk_sleep, &wait);
+	finish_wait(sk->sk_sleep, &wait);
 
 	if (err)
 		goto done;
@@ -532,12 +531,10 @@
 
 static long rfcomm_sock_data_wait(struct sock *sk, long timeo)
 {
-	DECLARE_WAITQUEUE(wait, current);
+	DEFINE_WAIT(wait);
 
-	add_wait_queue(sk->sk_sleep, &wait);
 	for (;;) {
-		set_current_state(TASK_INTERRUPTIBLE);
-
+		prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE);
 		set_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags);
 		if (sk_wait_event(sk, &timeo,
 				  skb_queue_len(&sk->sk_receive_queue) ||
@@ -549,8 +546,7 @@
 		clear_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags);
 	}
 
-	__set_current_state(TASK_RUNNING);
-	remove_wait_queue(sk->sk_sleep, &wait);
+	finish_wait(sk->sk_sleep, &wait);
 	return timeo;
 }
 
diff -Nru a/net/bluetooth/sco.c b/net/bluetooth/sco.c
--- a/net/bluetooth/sco.c	Sat Nov 15 17:02:12 2003
+++ b/net/bluetooth/sco.c	Sat Nov 15 17:02:12 2003
@@ -558,7 +558,7 @@
 
 int sco_sock_accept(struct socket *sock, struct socket *newsock, int flags)
 {
-	DECLARE_WAITQUEUE(wait, current);
+	DEFINE_WAIT(wait);
 	struct sock *sk = sock->sk, *ch;
 	long timeo;
 	int err = 0;
@@ -575,9 +575,9 @@
 	BT_DBG("sk %p timeo %ld", sk, timeo);
 
 	/* Wait for an incoming connection. (wake-one). */
-	add_wait_queue_exclusive(sk->sk_sleep, &wait);
 	while (1) {
-		set_current_state(TASK_INTERRUPTIBLE);
+		prepare_to_wait_exclusive(sk->sk_sleep, &wait,
+					  TASK_INTERRUPTIBLE);
 		if (sk_wait_event(sk, &timeo,
 				(ch = bt_accept_dequeue(sk, newsock)) != NULL))
 			break;
@@ -597,8 +597,7 @@
 			break;
 		}
 	}
-	set_current_state(TASK_RUNNING);
-	remove_wait_queue(sk->sk_sleep, &wait);
+	finish_wait(sk->sk_sleep, &wait);
 
 	if (err)
 		goto done;

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


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


M'XL( #1XMC\  \U7;6_:.A3^C'^%I4E7G>Y([..7!*Z8V@ZVH55KQ:CV$3G&
M#,1+6!+8)N7'7\<IW2BA ]9)!=0#M?/D\3G/<SB\P+>I29HUI><&O<#OXS1K
MUG2\,#J;K)6GX[D7)7:A%\=VP1_'<^,7>_UH"O["9'7PI$>1W7&C,CW&:Y.D
MS1KUV/U_LA]+TZSU.N]NKRYZ"+5:^,U8+;Z83R;#K1;*XF2M9L/T7&7C6;SP
MLD0MTKG)W+WS^ZTY$ +V*6C B) YE80'N:9#2A6G9DB AY*C@MKY0_K;*(Q2
M"E10P2T*E[R!VIAZE -XU..8,)]2GP*FO FD*4B=0),07(F,_^6X3M E?MI3
MO$$:Q_CRZK;3O[[NOV_B56KP,C%+E9A!%@^^J4GFCR:+23IV[]$'RU:"1#<_
M<XOJ1SX0(HJ@UWA95*WZ'+;>?C1;F<R*8>RKT>#^@Z=_'BUD@O&<!@T&.9-#
MHH!*VB!2F494G<;? I<UDT"XA10@F.4Y5]^GYU]7:F8QYA7T4AUO6 G" "@A
M,F? F<PCK8@>CL!H(\1([RGN/KQ?R0@!3!Z3M!EHM1SH.#$5*0NY_1L%NA$%
M3$6$,:T@.(B<@]VE!Z$48I.K]61I$N]L89%>/K@\&15)]--83^]HV6P)B\4M
M"!$<9 XF$D)"H(:*V 5S$*T=W*W<!2&GKB%4)+IH#4]8X3V-X9$*4P(06(M*
M6Q7N6@3L- <.OVT.XCDTAU*EU[B>?',O:_:;JJ2?T#/:0E),4;<,M7;G;?=C
M9_#YHML_*V[^\C^[(PCM4EN$Q&VT 5"M]H#QP'S7LU4Z69NS=%I_G4X'Z<R8
MY2O\3['ZREY@'QCW+SY]&'0_]CN]WNU-OWMYU2GN($F!V97$<?CE[%58]H)=
MS6T)]5Y[3^N8@S18Z9B-%HE-7EAJ41ZKQ0#7*7T68G2V?U2,6TDX192\2 OJ
MEJ%2E!P:A2@Y<^HMPE.+D@LG2BX.%&5;,.$,XD*UDUC@G,0:!;+@A:%V2%=2
MW</1-@:')-BIQMG^KBZ<\U?GAX,\5#T_;$S$:8.?:B+V3!IZ.0,]ZJ'M))QB
M(INM0H]EJ-0CN)9N@W-;&?Y(CXP4/NPR J?J\6X0.DJ(Q\]D!\GPP4RVT9^M
MG61.?^QH_3V7@:*<*Q_5W]WI3QLIPG*D"/<VPE"4(T50CA3!7Q@I@G*D" ]4
;XN;GKAX;/4U7\Q8W0QF$D4+_ [;;Q4-C#P  
 
