Lines Matching refs:lapb

36 void lapb_start_t1timer(struct lapb_cb *lapb)  in lapb_start_t1timer()  argument
38 del_timer(&lapb->t1timer); in lapb_start_t1timer()
40 lapb->t1timer.function = lapb_t1timer_expiry; in lapb_start_t1timer()
41 lapb->t1timer.expires = jiffies + lapb->t1; in lapb_start_t1timer()
43 lapb->t1timer_running = true; in lapb_start_t1timer()
44 add_timer(&lapb->t1timer); in lapb_start_t1timer()
47 void lapb_start_t2timer(struct lapb_cb *lapb) in lapb_start_t2timer() argument
49 del_timer(&lapb->t2timer); in lapb_start_t2timer()
51 lapb->t2timer.function = lapb_t2timer_expiry; in lapb_start_t2timer()
52 lapb->t2timer.expires = jiffies + lapb->t2; in lapb_start_t2timer()
54 lapb->t2timer_running = true; in lapb_start_t2timer()
55 add_timer(&lapb->t2timer); in lapb_start_t2timer()
58 void lapb_stop_t1timer(struct lapb_cb *lapb) in lapb_stop_t1timer() argument
60 lapb->t1timer_running = false; in lapb_stop_t1timer()
61 del_timer(&lapb->t1timer); in lapb_stop_t1timer()
64 void lapb_stop_t2timer(struct lapb_cb *lapb) in lapb_stop_t2timer() argument
66 lapb->t2timer_running = false; in lapb_stop_t2timer()
67 del_timer(&lapb->t2timer); in lapb_stop_t2timer()
70 int lapb_t1timer_running(struct lapb_cb *lapb) in lapb_t1timer_running() argument
72 return lapb->t1timer_running; in lapb_t1timer_running()
77 struct lapb_cb *lapb = from_timer(lapb, t, t2timer); in lapb_t2timer_expiry() local
79 spin_lock_bh(&lapb->lock); in lapb_t2timer_expiry()
80 if (timer_pending(&lapb->t2timer)) /* A new timer has been set up */ in lapb_t2timer_expiry()
82 if (!lapb->t2timer_running) /* The timer has been stopped */ in lapb_t2timer_expiry()
85 if (lapb->condition & LAPB_ACK_PENDING_CONDITION) { in lapb_t2timer_expiry()
86 lapb->condition &= ~LAPB_ACK_PENDING_CONDITION; in lapb_t2timer_expiry()
87 lapb_timeout_response(lapb); in lapb_t2timer_expiry()
89 lapb->t2timer_running = false; in lapb_t2timer_expiry()
92 spin_unlock_bh(&lapb->lock); in lapb_t2timer_expiry()
97 struct lapb_cb *lapb = from_timer(lapb, t, t1timer); in lapb_t1timer_expiry() local
99 spin_lock_bh(&lapb->lock); in lapb_t1timer_expiry()
100 if (timer_pending(&lapb->t1timer)) /* A new timer has been set up */ in lapb_t1timer_expiry()
102 if (!lapb->t1timer_running) /* The timer has been stopped */ in lapb_t1timer_expiry()
105 switch (lapb->state) { in lapb_t1timer_expiry()
112 if (lapb->mode & LAPB_DCE && in lapb_t1timer_expiry()
113 lapb->n2count != lapb->n2) { in lapb_t1timer_expiry()
114 lapb->n2count++; in lapb_t1timer_expiry()
115 lapb_send_control(lapb, LAPB_DM, LAPB_POLLOFF, LAPB_RESPONSE); in lapb_t1timer_expiry()
117 lapb->state = LAPB_STATE_1; in lapb_t1timer_expiry()
118 lapb_establish_data_link(lapb); in lapb_t1timer_expiry()
126 if (lapb->n2count == lapb->n2) { in lapb_t1timer_expiry()
127 lapb_clear_queues(lapb); in lapb_t1timer_expiry()
128 lapb->state = LAPB_STATE_0; in lapb_t1timer_expiry()
129 lapb_disconnect_indication(lapb, LAPB_TIMEDOUT); in lapb_t1timer_expiry()
130 lapb_dbg(0, "(%p) S1 -> S0\n", lapb->dev); in lapb_t1timer_expiry()
131 lapb->t1timer_running = false; in lapb_t1timer_expiry()
134 lapb->n2count++; in lapb_t1timer_expiry()
135 if (lapb->mode & LAPB_EXTENDED) { in lapb_t1timer_expiry()
137 lapb->dev); in lapb_t1timer_expiry()
138 lapb_send_control(lapb, LAPB_SABME, LAPB_POLLON, LAPB_COMMAND); in lapb_t1timer_expiry()
141 lapb->dev); in lapb_t1timer_expiry()
142 lapb_send_control(lapb, LAPB_SABM, LAPB_POLLON, LAPB_COMMAND); in lapb_t1timer_expiry()
151 if (lapb->n2count == lapb->n2) { in lapb_t1timer_expiry()
152 lapb_clear_queues(lapb); in lapb_t1timer_expiry()
153 lapb->state = LAPB_STATE_0; in lapb_t1timer_expiry()
154 lapb_disconnect_confirmation(lapb, LAPB_TIMEDOUT); in lapb_t1timer_expiry()
155 lapb_dbg(0, "(%p) S2 -> S0\n", lapb->dev); in lapb_t1timer_expiry()
156 lapb->t1timer_running = false; in lapb_t1timer_expiry()
159 lapb->n2count++; in lapb_t1timer_expiry()
160 lapb_dbg(1, "(%p) S2 TX DISC(1)\n", lapb->dev); in lapb_t1timer_expiry()
161 lapb_send_control(lapb, LAPB_DISC, LAPB_POLLON, LAPB_COMMAND); in lapb_t1timer_expiry()
169 if (lapb->n2count == lapb->n2) { in lapb_t1timer_expiry()
170 lapb_clear_queues(lapb); in lapb_t1timer_expiry()
171 lapb->state = LAPB_STATE_0; in lapb_t1timer_expiry()
172 lapb_stop_t2timer(lapb); in lapb_t1timer_expiry()
173 lapb_disconnect_indication(lapb, LAPB_TIMEDOUT); in lapb_t1timer_expiry()
174 lapb_dbg(0, "(%p) S3 -> S0\n", lapb->dev); in lapb_t1timer_expiry()
175 lapb->t1timer_running = false; in lapb_t1timer_expiry()
178 lapb->n2count++; in lapb_t1timer_expiry()
179 lapb_requeue_frames(lapb); in lapb_t1timer_expiry()
180 lapb_kick(lapb); in lapb_t1timer_expiry()
188 if (lapb->n2count == lapb->n2) { in lapb_t1timer_expiry()
189 lapb_clear_queues(lapb); in lapb_t1timer_expiry()
190 lapb->state = LAPB_STATE_0; in lapb_t1timer_expiry()
191 lapb_disconnect_indication(lapb, LAPB_TIMEDOUT); in lapb_t1timer_expiry()
192 lapb_dbg(0, "(%p) S4 -> S0\n", lapb->dev); in lapb_t1timer_expiry()
193 lapb->t1timer_running = false; in lapb_t1timer_expiry()
196 lapb->n2count++; in lapb_t1timer_expiry()
197 lapb_transmit_frmr(lapb); in lapb_t1timer_expiry()
202 lapb_start_t1timer(lapb); in lapb_t1timer_expiry()
205 spin_unlock_bh(&lapb->lock); in lapb_t1timer_expiry()