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.1414.4.5, 2003-11-09 00:34:29-02:00, acme@conectiva.com.br
  o LLC: introduce llc_conn_tmr_common_cb, to avoid code duplication


 llc_c_ac.c |   48 ++++++++++--------------------------------------
 1 files changed, 10 insertions(+), 38 deletions(-)


diff -Nru a/net/llc/llc_c_ac.c b/net/llc/llc_c_ac.c
--- a/net/llc/llc_c_ac.c	Sat Nov 15 17:04:58 2003
+++ b/net/llc/llc_c_ac.c	Sat Nov 15 17:04:58 2003
@@ -1419,7 +1419,7 @@
 	return 0;
 }
 
-void llc_conn_pf_cycle_tmr_cb(unsigned long timeout_data)
+static void llc_conn_tmr_common_cb(unsigned long timeout_data, u8 type)
 {
 	struct sock *sk = (struct sock *)timeout_data;
 	struct sk_buff *skb = alloc_skb(0, GFP_ATOMIC);
@@ -1429,58 +1429,30 @@
 		struct llc_conn_state_ev *ev = llc_conn_ev(skb);
 
 		skb->sk  = sk;
-		ev->type = LLC_CONN_EV_TYPE_P_TMR;
+		ev->type = type;
 		llc_process_tmr_ev(sk, skb);
 	}
 	bh_unlock_sock(sk);
 }
 
-void llc_conn_busy_tmr_cb(unsigned long timeout_data)
+void llc_conn_pf_cycle_tmr_cb(unsigned long timeout_data)
 {
-	struct sock *sk = (struct sock *)timeout_data;
-	struct sk_buff *skb = alloc_skb(0, GFP_ATOMIC);
-
-	bh_lock_sock(sk);
-	if (skb) {
-		struct llc_conn_state_ev *ev = llc_conn_ev(skb);
+	llc_conn_tmr_common_cb(timeout_data, LLC_CONN_EV_TYPE_P_TMR);
+}
 
-		skb->sk  = sk;
-		ev->type = LLC_CONN_EV_TYPE_BUSY_TMR;
-		llc_process_tmr_ev(sk, skb);
-	}
-	bh_unlock_sock(sk);
+void llc_conn_busy_tmr_cb(unsigned long timeout_data)
+{
+	llc_conn_tmr_common_cb(timeout_data, LLC_CONN_EV_TYPE_BUSY_TMR);
 }
 
 void llc_conn_ack_tmr_cb(unsigned long timeout_data)
 {
-	struct sock* sk = (struct sock *)timeout_data;
-	struct sk_buff *skb = alloc_skb(0, GFP_ATOMIC);
-
-	bh_lock_sock(sk);
-	if (skb) {
-		struct llc_conn_state_ev *ev = llc_conn_ev(skb);
-
-		skb->sk  = sk;
-		ev->type = LLC_CONN_EV_TYPE_ACK_TMR;
-		llc_process_tmr_ev(sk, skb);
-	}
-	bh_unlock_sock(sk);
+	llc_conn_tmr_common_cb(timeout_data, LLC_CONN_EV_TYPE_ACK_TMR);
 }
 
 void llc_conn_rej_tmr_cb(unsigned long timeout_data)
 {
-	struct sock *sk = (struct sock *)timeout_data;
-	struct sk_buff *skb = alloc_skb(0, GFP_ATOMIC);
-
-	bh_lock_sock(sk);
-	if (skb) {
-		struct llc_conn_state_ev *ev = llc_conn_ev(skb);
-
-		skb->sk  = sk;
-		ev->type = LLC_CONN_EV_TYPE_REJ_TMR;
-		llc_process_tmr_ev(sk, skb);
-	}
-	bh_unlock_sock(sk);
+	llc_conn_tmr_common_cb(timeout_data, LLC_CONN_EV_TYPE_REJ_TMR);
 }
 
 int llc_conn_ac_rst_vs(struct sock *sk, struct sk_buff *skb)

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


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


M'XL( -IXMC\  \V574_;,!2&K^M?<21NAD:3XX\D;5 14- ^8% 5F,15Y#HN
MK6ABE+B=T++_/B=T14#W0<7%DDA.XJ/W?>SS*MF"JU(7<4NJ3),M^&A*&[>4
MR;6RTX7TE,F\4>$FAL:X"7]B,NW7M?[HEOFYMFWFA1XEKF(@K9K 0A=EW*(>
M7[VQ]W<Z;@V//UR='@P)Z?6@/Y'YC;[0%GH]8DVQD+.TW)=V,C.Y9PN9EYFV
MC7>U*JT8(G-G0"..05C1$$54*9I2*@75*3+1"06IT?:?XS]5X91B%QEG-*PP
M0MXA1T ]*JCPA!< <I]2'[N &',1LVX;68P(:Y7A/84VDD-XVU7TB0(#IZ?]
M&*:Y+4PZ5QIF,Y4X_SRQ6>%NLLSDB1KM.&N0"S--09E40SJ_FTV5M%.3DQ.(
MD'7)X''#2?N5!R$HD>RM7WWE^N\[++]!2Z3RU,," TZ1\X")BKLG7M%H+ 72
M;I?A.*2"OTKN5[\$PRI$RCI-AE[6UF%Z6\Q7R:UBA5'%HS"D3:PXO@@4_B50
M"&V7R?\V4@\M.(=V\:VY7$8&:[JQ0=*.J& ,*/FT'$OK/!4T(.M)W\WS<GJ3
M:S=O\ANPTTR;N4U2:>4.S#O-IV>[UN5+W69LM?2BO5?/0:\IV6U*.LN2>GSJ
M>3=.U+V:Z0?S/[DV9@(AK)5$ (RT?D/^E-7U)>F?GYTEQU^3R^O!<3)(+K\,
MMW?)CT8P@J 6#"CP9VBC>7G_+UC?-P4YO+JX7K(XDB $RFJ4,*HW<C/)@_[)
HHV+$EHH=OKGB\/CS4G'UUU$3K6[+>=8;T]%XK%1*?@)4:ZVFZ@8     
 
