Lines Matching refs:ax25

81 	ax25_cb *ax25;  in ax25_ds_timeout()  local
91 for (ax25=ax25_list; ax25 != NULL; ax25 = ax25->next) { in ax25_ds_timeout()
92 if (ax25->ax25_dev != ax25_dev || !(ax25->condition & AX25_COND_DAMA_MODE)) in ax25_ds_timeout()
95 ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); in ax25_ds_timeout()
96 ax25_disconnect(ax25, ETIMEDOUT); in ax25_ds_timeout()
102 void ax25_ds_heartbeat_expiry(ax25_cb *ax25) in ax25_ds_heartbeat_expiry() argument
104 switch (ax25->state) { in ax25_ds_heartbeat_expiry()
109 if (ax25->sk == NULL || ax25->sk->destroy || (ax25->sk->state == TCP_LISTEN && ax25->sk->dead)) { in ax25_ds_heartbeat_expiry()
110 ax25_destroy_socket(ax25); in ax25_ds_heartbeat_expiry()
119 if (ax25->sk != NULL) { in ax25_ds_heartbeat_expiry()
120 if (atomic_read(&ax25->sk->rmem_alloc) < (ax25->sk->rcvbuf / 2) && in ax25_ds_heartbeat_expiry()
121 (ax25->condition & AX25_COND_OWN_RX_BUSY)) { in ax25_ds_heartbeat_expiry()
122 ax25->condition &= ~AX25_COND_OWN_RX_BUSY; in ax25_ds_heartbeat_expiry()
123 ax25->condition &= ~AX25_COND_ACK_PENDING; in ax25_ds_heartbeat_expiry()
130 ax25_start_heartbeat(ax25); in ax25_ds_heartbeat_expiry()
137 void ax25_ds_t3timer_expiry(ax25_cb *ax25) in ax25_ds_t3timer_expiry() argument
139 ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); in ax25_ds_t3timer_expiry()
140 ax25_dama_off(ax25); in ax25_ds_t3timer_expiry()
141 ax25_disconnect(ax25, ETIMEDOUT); in ax25_ds_t3timer_expiry()
148 void ax25_ds_idletimer_expiry(ax25_cb *ax25) in ax25_ds_idletimer_expiry() argument
150 ax25_clear_queues(ax25); in ax25_ds_idletimer_expiry()
152 ax25->n2count = 0; in ax25_ds_idletimer_expiry()
153 ax25->state = AX25_STATE_2; in ax25_ds_idletimer_expiry()
155 ax25_calculate_t1(ax25); in ax25_ds_idletimer_expiry()
156 ax25_start_t1timer(ax25); in ax25_ds_idletimer_expiry()
157 ax25_stop_t3timer(ax25); in ax25_ds_idletimer_expiry()
159 if (ax25->sk != NULL) { in ax25_ds_idletimer_expiry()
160 ax25->sk->state = TCP_CLOSE; in ax25_ds_idletimer_expiry()
161 ax25->sk->err = 0; in ax25_ds_idletimer_expiry()
162 ax25->sk->shutdown |= SEND_SHUTDOWN; in ax25_ds_idletimer_expiry()
163 if (!ax25->sk->dead) in ax25_ds_idletimer_expiry()
164 ax25->sk->state_change(ax25->sk); in ax25_ds_idletimer_expiry()
165 ax25->sk->dead = 1; in ax25_ds_idletimer_expiry()
177 void ax25_ds_t1_timeout(ax25_cb *ax25) in ax25_ds_t1_timeout() argument
179 switch (ax25->state) { in ax25_ds_t1_timeout()
182 if (ax25->n2count == ax25->n2) { in ax25_ds_t1_timeout()
183 if (ax25->modulus == AX25_MODULUS) { in ax25_ds_t1_timeout()
184 ax25_disconnect(ax25, ETIMEDOUT); in ax25_ds_t1_timeout()
187 ax25->modulus = AX25_MODULUS; in ax25_ds_t1_timeout()
188 ax25->window = ax25->ax25_dev->values[AX25_VALUES_WINDOW]; in ax25_ds_t1_timeout()
189 ax25->n2count = 0; in ax25_ds_t1_timeout()
190 ax25_send_control(ax25, AX25_SABM, AX25_POLLOFF, AX25_COMMAND); in ax25_ds_t1_timeout()
193 ax25->n2count++; in ax25_ds_t1_timeout()
194 if (ax25->modulus == AX25_MODULUS) in ax25_ds_t1_timeout()
195 ax25_send_control(ax25, AX25_SABM, AX25_POLLOFF, AX25_COMMAND); in ax25_ds_t1_timeout()
197 ax25_send_control(ax25, AX25_SABME, AX25_POLLOFF, AX25_COMMAND); in ax25_ds_t1_timeout()
202 if (ax25->n2count == ax25->n2) { in ax25_ds_t1_timeout()
203 ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); in ax25_ds_t1_timeout()
204 ax25_disconnect(ax25, ETIMEDOUT); in ax25_ds_t1_timeout()
207 ax25->n2count++; in ax25_ds_t1_timeout()
212 if (ax25->n2count == ax25->n2) { in ax25_ds_t1_timeout()
213 ax25_send_control(ax25, AX25_DM, AX25_POLLON, AX25_RESPONSE); in ax25_ds_t1_timeout()
214 ax25_disconnect(ax25, ETIMEDOUT); in ax25_ds_t1_timeout()
217 ax25->n2count++; in ax25_ds_t1_timeout()
222 ax25_calculate_t1(ax25); in ax25_ds_t1_timeout()
223 ax25_start_t1timer(ax25); in ax25_ds_t1_timeout()