Skip to content

Commit

Permalink
[LLC]: introduce llc_conn_tmr_common_cb, to avoid code duplication
Browse files Browse the repository at this point in the history
Signed-off-by: Jochen Friedrich <[email protected]>
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
  • Loading branch information
Arnaldo Carvalho de Melo committed Sep 22, 2005
1 parent 838a75d commit e0dd551
Showing 1 changed file with 10 additions and 38 deletions.
48 changes: 10 additions & 38 deletions net/llc/llc_c_ac.c
Original file line number Diff line number Diff line change
Expand Up @@ -1326,7 +1326,7 @@ int llc_conn_ac_inc_vs_by_1(struct sock *sk, struct sk_buff *skb)
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);
Expand All @@ -1336,58 +1336,30 @@ void llc_conn_pf_cycle_tmr_cb(unsigned long timeout_data)
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)
Expand Down

0 comments on commit e0dd551

Please sign in to comment.