Lines Matching refs:ax25

72 	ax25_cb *ax25;  in ax25_ds_timeout()  local
83 ax25_for_each(ax25, &ax25_list) { in ax25_ds_timeout()
84 if (ax25->ax25_dev != ax25_dev || !(ax25->condition & AX25_COND_DAMA_MODE)) in ax25_ds_timeout()
87 ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); in ax25_ds_timeout()
88 ax25_disconnect(ax25, ETIMEDOUT); in ax25_ds_timeout()
95 void ax25_ds_heartbeat_expiry(ax25_cb *ax25) in ax25_ds_heartbeat_expiry() argument
97 struct sock *sk=ax25->sk; in ax25_ds_heartbeat_expiry()
102 switch (ax25->state) { in ax25_ds_heartbeat_expiry()
112 ax25_destroy_socket(ax25); in ax25_ds_heartbeat_expiry()
116 ax25_destroy_socket(ax25); in ax25_ds_heartbeat_expiry()
128 (ax25->condition & AX25_COND_OWN_RX_BUSY)) { in ax25_ds_heartbeat_expiry()
129 ax25->condition &= ~AX25_COND_OWN_RX_BUSY; in ax25_ds_heartbeat_expiry()
130 ax25->condition &= ~AX25_COND_ACK_PENDING; in ax25_ds_heartbeat_expiry()
140 ax25_start_heartbeat(ax25); in ax25_ds_heartbeat_expiry()
147 void ax25_ds_t3timer_expiry(ax25_cb *ax25) in ax25_ds_t3timer_expiry() argument
149 ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); in ax25_ds_t3timer_expiry()
150 ax25_dama_off(ax25); in ax25_ds_t3timer_expiry()
151 ax25_disconnect(ax25, ETIMEDOUT); in ax25_ds_t3timer_expiry()
158 void ax25_ds_idletimer_expiry(ax25_cb *ax25) in ax25_ds_idletimer_expiry() argument
160 ax25_clear_queues(ax25); in ax25_ds_idletimer_expiry()
162 ax25->n2count = 0; in ax25_ds_idletimer_expiry()
163 ax25->state = AX25_STATE_2; in ax25_ds_idletimer_expiry()
165 ax25_calculate_t1(ax25); in ax25_ds_idletimer_expiry()
166 ax25_start_t1timer(ax25); in ax25_ds_idletimer_expiry()
167 ax25_stop_t3timer(ax25); in ax25_ds_idletimer_expiry()
169 if (ax25->sk != NULL) { in ax25_ds_idletimer_expiry()
170 bh_lock_sock(ax25->sk); in ax25_ds_idletimer_expiry()
171 ax25->sk->sk_state = TCP_CLOSE; in ax25_ds_idletimer_expiry()
172 ax25->sk->sk_err = 0; in ax25_ds_idletimer_expiry()
173 ax25->sk->sk_shutdown |= SEND_SHUTDOWN; in ax25_ds_idletimer_expiry()
174 if (!sock_flag(ax25->sk, SOCK_DEAD)) { in ax25_ds_idletimer_expiry()
175 ax25->sk->sk_state_change(ax25->sk); in ax25_ds_idletimer_expiry()
176 sock_set_flag(ax25->sk, SOCK_DEAD); in ax25_ds_idletimer_expiry()
178 bh_unlock_sock(ax25->sk); in ax25_ds_idletimer_expiry()
190 void ax25_ds_t1_timeout(ax25_cb *ax25) in ax25_ds_t1_timeout() argument
192 switch (ax25->state) { in ax25_ds_t1_timeout()
194 if (ax25->n2count == ax25->n2) { in ax25_ds_t1_timeout()
195 if (ax25->modulus == AX25_MODULUS) { in ax25_ds_t1_timeout()
196 ax25_disconnect(ax25, ETIMEDOUT); in ax25_ds_t1_timeout()
199 ax25->modulus = AX25_MODULUS; in ax25_ds_t1_timeout()
200 ax25->window = ax25->ax25_dev->values[AX25_VALUES_WINDOW]; in ax25_ds_t1_timeout()
201 ax25->n2count = 0; in ax25_ds_t1_timeout()
202 ax25_send_control(ax25, AX25_SABM, AX25_POLLOFF, AX25_COMMAND); in ax25_ds_t1_timeout()
205 ax25->n2count++; in ax25_ds_t1_timeout()
206 if (ax25->modulus == AX25_MODULUS) in ax25_ds_t1_timeout()
207 ax25_send_control(ax25, AX25_SABM, AX25_POLLOFF, AX25_COMMAND); in ax25_ds_t1_timeout()
209 ax25_send_control(ax25, AX25_SABME, AX25_POLLOFF, AX25_COMMAND); in ax25_ds_t1_timeout()
214 if (ax25->n2count == ax25->n2) { in ax25_ds_t1_timeout()
215 ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); in ax25_ds_t1_timeout()
216 ax25_disconnect(ax25, ETIMEDOUT); in ax25_ds_t1_timeout()
219 ax25->n2count++; in ax25_ds_t1_timeout()
224 if (ax25->n2count == ax25->n2) { in ax25_ds_t1_timeout()
225 ax25_send_control(ax25, AX25_DM, AX25_POLLON, AX25_RESPONSE); in ax25_ds_t1_timeout()
226 ax25_disconnect(ax25, ETIMEDOUT); in ax25_ds_t1_timeout()
229 ax25->n2count++; in ax25_ds_t1_timeout()
234 ax25_calculate_t1(ax25); in ax25_ds_t1_timeout()
235 ax25_start_t1timer(ax25); in ax25_ds_t1_timeout()