lapb 110 include/net/lapb.h void lapb_connect_confirmation(struct lapb_cb *lapb, int); lapb 111 include/net/lapb.h void lapb_connect_indication(struct lapb_cb *lapb, int); lapb 112 include/net/lapb.h void lapb_disconnect_confirmation(struct lapb_cb *lapb, int); lapb 113 include/net/lapb.h void lapb_disconnect_indication(struct lapb_cb *lapb, int); lapb 114 include/net/lapb.h int lapb_data_indication(struct lapb_cb *lapb, struct sk_buff *); lapb 115 include/net/lapb.h int lapb_data_transmit(struct lapb_cb *lapb, struct sk_buff *); lapb 118 include/net/lapb.h void lapb_data_input(struct lapb_cb *lapb, struct sk_buff *); lapb 121 include/net/lapb.h void lapb_kick(struct lapb_cb *lapb); lapb 122 include/net/lapb.h void lapb_transmit_buffer(struct lapb_cb *lapb, struct sk_buff *, int); lapb 123 include/net/lapb.h void lapb_establish_data_link(struct lapb_cb *lapb); lapb 124 include/net/lapb.h void lapb_enquiry_response(struct lapb_cb *lapb); lapb 125 include/net/lapb.h void lapb_timeout_response(struct lapb_cb *lapb); lapb 126 include/net/lapb.h void lapb_check_iframes_acked(struct lapb_cb *lapb, unsigned short); lapb 127 include/net/lapb.h void lapb_check_need_response(struct lapb_cb *lapb, int, int); lapb 130 include/net/lapb.h void lapb_clear_queues(struct lapb_cb *lapb); lapb 131 include/net/lapb.h void lapb_frames_acked(struct lapb_cb *lapb, unsigned short); lapb 132 include/net/lapb.h void lapb_requeue_frames(struct lapb_cb *lapb); lapb 133 include/net/lapb.h int lapb_validate_nr(struct lapb_cb *lapb, unsigned short); lapb 134 include/net/lapb.h int lapb_decode(struct lapb_cb *lapb, struct sk_buff *, struct lapb_frame *); lapb 135 include/net/lapb.h void lapb_send_control(struct lapb_cb *lapb, int, int, int); lapb 136 include/net/lapb.h void lapb_transmit_frmr(struct lapb_cb *lapb); lapb 139 include/net/lapb.h void lapb_start_t1timer(struct lapb_cb *lapb); lapb 140 include/net/lapb.h void lapb_start_t2timer(struct lapb_cb *lapb); lapb 141 include/net/lapb.h void lapb_stop_t1timer(struct lapb_cb *lapb); lapb 142 include/net/lapb.h void lapb_stop_t2timer(struct lapb_cb *lapb); lapb 143 include/net/lapb.h int lapb_t1timer_running(struct lapb_cb *lapb); lapb 45 net/lapb/lapb_iface.c static void lapb_free_cb(struct lapb_cb *lapb) lapb 47 net/lapb/lapb_iface.c kfree(lapb); lapb 50 net/lapb/lapb_iface.c static __inline__ void lapb_hold(struct lapb_cb *lapb) lapb 52 net/lapb/lapb_iface.c refcount_inc(&lapb->refcnt); lapb 55 net/lapb/lapb_iface.c static __inline__ void lapb_put(struct lapb_cb *lapb) lapb 57 net/lapb/lapb_iface.c if (refcount_dec_and_test(&lapb->refcnt)) lapb 58 net/lapb/lapb_iface.c lapb_free_cb(lapb); lapb 64 net/lapb/lapb_iface.c static void __lapb_remove_cb(struct lapb_cb *lapb) lapb 66 net/lapb/lapb_iface.c if (lapb->node.next) { lapb 67 net/lapb/lapb_iface.c list_del(&lapb->node); lapb 68 net/lapb/lapb_iface.c lapb_put(lapb); lapb 75 net/lapb/lapb_iface.c static void __lapb_insert_cb(struct lapb_cb *lapb) lapb 77 net/lapb/lapb_iface.c list_add(&lapb->node, &lapb_list); lapb 78 net/lapb/lapb_iface.c lapb_hold(lapb); lapb 84 net/lapb/lapb_iface.c struct lapb_cb *lapb, *use = NULL; lapb 87 net/lapb/lapb_iface.c lapb = list_entry(entry, struct lapb_cb, node); lapb 88 net/lapb/lapb_iface.c if (lapb->dev == dev) { lapb 89 net/lapb/lapb_iface.c use = lapb; lapb 115 net/lapb/lapb_iface.c struct lapb_cb *lapb = kzalloc(sizeof(*lapb), GFP_ATOMIC); lapb 117 net/lapb/lapb_iface.c if (!lapb) lapb 120 net/lapb/lapb_iface.c skb_queue_head_init(&lapb->write_queue); lapb 121 net/lapb/lapb_iface.c skb_queue_head_init(&lapb->ack_queue); lapb 123 net/lapb/lapb_iface.c timer_setup(&lapb->t1timer, NULL, 0); lapb 124 net/lapb/lapb_iface.c timer_setup(&lapb->t2timer, NULL, 0); lapb 126 net/lapb/lapb_iface.c lapb->t1 = LAPB_DEFAULT_T1; lapb 127 net/lapb/lapb_iface.c lapb->t2 = LAPB_DEFAULT_T2; lapb 128 net/lapb/lapb_iface.c lapb->n2 = LAPB_DEFAULT_N2; lapb 129 net/lapb/lapb_iface.c lapb->mode = LAPB_DEFAULT_MODE; lapb 130 net/lapb/lapb_iface.c lapb->window = LAPB_DEFAULT_WINDOW; lapb 131 net/lapb/lapb_iface.c lapb->state = LAPB_STATE_0; lapb 132 net/lapb/lapb_iface.c refcount_set(&lapb->refcnt, 1); lapb 134 net/lapb/lapb_iface.c return lapb; lapb 140 net/lapb/lapb_iface.c struct lapb_cb *lapb; lapb 145 net/lapb/lapb_iface.c lapb = __lapb_devtostruct(dev); lapb 146 net/lapb/lapb_iface.c if (lapb) { lapb 147 net/lapb/lapb_iface.c lapb_put(lapb); lapb 151 net/lapb/lapb_iface.c lapb = lapb_create_cb(); lapb 153 net/lapb/lapb_iface.c if (!lapb) lapb 156 net/lapb/lapb_iface.c lapb->dev = dev; lapb 157 net/lapb/lapb_iface.c lapb->callbacks = callbacks; lapb 159 net/lapb/lapb_iface.c __lapb_insert_cb(lapb); lapb 161 net/lapb/lapb_iface.c lapb_start_t1timer(lapb); lapb 172 net/lapb/lapb_iface.c struct lapb_cb *lapb; lapb 176 net/lapb/lapb_iface.c lapb = __lapb_devtostruct(dev); lapb 177 net/lapb/lapb_iface.c if (!lapb) lapb 179 net/lapb/lapb_iface.c lapb_put(lapb); lapb 181 net/lapb/lapb_iface.c lapb_stop_t1timer(lapb); lapb 182 net/lapb/lapb_iface.c lapb_stop_t2timer(lapb); lapb 184 net/lapb/lapb_iface.c lapb_clear_queues(lapb); lapb 186 net/lapb/lapb_iface.c __lapb_remove_cb(lapb); lapb 188 net/lapb/lapb_iface.c lapb_put(lapb); lapb 199 net/lapb/lapb_iface.c struct lapb_cb *lapb = lapb_devtostruct(dev); lapb 201 net/lapb/lapb_iface.c if (!lapb) lapb 204 net/lapb/lapb_iface.c parms->t1 = lapb->t1 / HZ; lapb 205 net/lapb/lapb_iface.c parms->t2 = lapb->t2 / HZ; lapb 206 net/lapb/lapb_iface.c parms->n2 = lapb->n2; lapb 207 net/lapb/lapb_iface.c parms->n2count = lapb->n2count; lapb 208 net/lapb/lapb_iface.c parms->state = lapb->state; lapb 209 net/lapb/lapb_iface.c parms->window = lapb->window; lapb 210 net/lapb/lapb_iface.c parms->mode = lapb->mode; lapb 212 net/lapb/lapb_iface.c if (!timer_pending(&lapb->t1timer)) lapb 215 net/lapb/lapb_iface.c parms->t1timer = (lapb->t1timer.expires - jiffies) / HZ; lapb 217 net/lapb/lapb_iface.c if (!timer_pending(&lapb->t2timer)) lapb 220 net/lapb/lapb_iface.c parms->t2timer = (lapb->t2timer.expires - jiffies) / HZ; lapb 222 net/lapb/lapb_iface.c lapb_put(lapb); lapb 232 net/lapb/lapb_iface.c struct lapb_cb *lapb = lapb_devtostruct(dev); lapb 234 net/lapb/lapb_iface.c if (!lapb) lapb 241 net/lapb/lapb_iface.c if (lapb->state == LAPB_STATE_0) { lapb 249 net/lapb/lapb_iface.c lapb->mode = parms->mode; lapb 250 net/lapb/lapb_iface.c lapb->window = parms->window; lapb 253 net/lapb/lapb_iface.c lapb->t1 = parms->t1 * HZ; lapb 254 net/lapb/lapb_iface.c lapb->t2 = parms->t2 * HZ; lapb 255 net/lapb/lapb_iface.c lapb->n2 = parms->n2; lapb 259 net/lapb/lapb_iface.c lapb_put(lapb); lapb 267 net/lapb/lapb_iface.c struct lapb_cb *lapb = lapb_devtostruct(dev); lapb 270 net/lapb/lapb_iface.c if (!lapb) lapb 274 net/lapb/lapb_iface.c if (lapb->state == LAPB_STATE_1) lapb 278 net/lapb/lapb_iface.c if (lapb->state == LAPB_STATE_3 || lapb->state == LAPB_STATE_4) lapb 281 net/lapb/lapb_iface.c lapb_establish_data_link(lapb); lapb 283 net/lapb/lapb_iface.c lapb_dbg(0, "(%p) S0 -> S1\n", lapb->dev); lapb 284 net/lapb/lapb_iface.c lapb->state = LAPB_STATE_1; lapb 288 net/lapb/lapb_iface.c lapb_put(lapb); lapb 296 net/lapb/lapb_iface.c struct lapb_cb *lapb = lapb_devtostruct(dev); lapb 299 net/lapb/lapb_iface.c if (!lapb) lapb 302 net/lapb/lapb_iface.c switch (lapb->state) { lapb 308 net/lapb/lapb_iface.c lapb_dbg(1, "(%p) S1 TX DISC(1)\n", lapb->dev); lapb 309 net/lapb/lapb_iface.c lapb_dbg(0, "(%p) S1 -> S0\n", lapb->dev); lapb 310 net/lapb/lapb_iface.c lapb_send_control(lapb, LAPB_DISC, LAPB_POLLON, LAPB_COMMAND); lapb 311 net/lapb/lapb_iface.c lapb->state = LAPB_STATE_0; lapb 312 net/lapb/lapb_iface.c lapb_start_t1timer(lapb); lapb 321 net/lapb/lapb_iface.c lapb_clear_queues(lapb); lapb 322 net/lapb/lapb_iface.c lapb->n2count = 0; lapb 323 net/lapb/lapb_iface.c lapb_send_control(lapb, LAPB_DISC, LAPB_POLLON, LAPB_COMMAND); lapb 324 net/lapb/lapb_iface.c lapb_start_t1timer(lapb); lapb 325 net/lapb/lapb_iface.c lapb_stop_t2timer(lapb); lapb 326 net/lapb/lapb_iface.c lapb->state = LAPB_STATE_2; lapb 328 net/lapb/lapb_iface.c lapb_dbg(1, "(%p) S3 DISC(1)\n", lapb->dev); lapb 329 net/lapb/lapb_iface.c lapb_dbg(0, "(%p) S3 -> S2\n", lapb->dev); lapb 333 net/lapb/lapb_iface.c lapb_put(lapb); lapb 341 net/lapb/lapb_iface.c struct lapb_cb *lapb = lapb_devtostruct(dev); lapb 344 net/lapb/lapb_iface.c if (!lapb) lapb 348 net/lapb/lapb_iface.c if (lapb->state != LAPB_STATE_3 && lapb->state != LAPB_STATE_4) lapb 351 net/lapb/lapb_iface.c skb_queue_tail(&lapb->write_queue, skb); lapb 352 net/lapb/lapb_iface.c lapb_kick(lapb); lapb 355 net/lapb/lapb_iface.c lapb_put(lapb); lapb 363 net/lapb/lapb_iface.c struct lapb_cb *lapb = lapb_devtostruct(dev); lapb 366 net/lapb/lapb_iface.c if (lapb) { lapb 367 net/lapb/lapb_iface.c lapb_data_input(lapb, skb); lapb 368 net/lapb/lapb_iface.c lapb_put(lapb); lapb 376 net/lapb/lapb_iface.c void lapb_connect_confirmation(struct lapb_cb *lapb, int reason) lapb 378 net/lapb/lapb_iface.c if (lapb->callbacks->connect_confirmation) lapb 379 net/lapb/lapb_iface.c lapb->callbacks->connect_confirmation(lapb->dev, reason); lapb 382 net/lapb/lapb_iface.c void lapb_connect_indication(struct lapb_cb *lapb, int reason) lapb 384 net/lapb/lapb_iface.c if (lapb->callbacks->connect_indication) lapb 385 net/lapb/lapb_iface.c lapb->callbacks->connect_indication(lapb->dev, reason); lapb 388 net/lapb/lapb_iface.c void lapb_disconnect_confirmation(struct lapb_cb *lapb, int reason) lapb 390 net/lapb/lapb_iface.c if (lapb->callbacks->disconnect_confirmation) lapb 391 net/lapb/lapb_iface.c lapb->callbacks->disconnect_confirmation(lapb->dev, reason); lapb 394 net/lapb/lapb_iface.c void lapb_disconnect_indication(struct lapb_cb *lapb, int reason) lapb 396 net/lapb/lapb_iface.c if (lapb->callbacks->disconnect_indication) lapb 397 net/lapb/lapb_iface.c lapb->callbacks->disconnect_indication(lapb->dev, reason); lapb 400 net/lapb/lapb_iface.c int lapb_data_indication(struct lapb_cb *lapb, struct sk_buff *skb) lapb 402 net/lapb/lapb_iface.c if (lapb->callbacks->data_indication) lapb 403 net/lapb/lapb_iface.c return lapb->callbacks->data_indication(lapb->dev, skb); lapb 409 net/lapb/lapb_iface.c int lapb_data_transmit(struct lapb_cb *lapb, struct sk_buff *skb) lapb 413 net/lapb/lapb_iface.c if (lapb->callbacks->data_transmit) { lapb 414 net/lapb/lapb_iface.c lapb->callbacks->data_transmit(lapb->dev, skb); lapb 39 net/lapb/lapb_in.c static void lapb_state0_machine(struct lapb_cb *lapb, struct sk_buff *skb, lapb 44 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S0 RX SABM(%d)\n", lapb->dev, frame->pf); lapb 45 net/lapb/lapb_in.c if (lapb->mode & LAPB_EXTENDED) { lapb 47 net/lapb/lapb_in.c lapb->dev, frame->pf); lapb 48 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_DM, frame->pf, lapb 52 net/lapb/lapb_in.c lapb->dev, frame->pf); lapb 53 net/lapb/lapb_in.c lapb_dbg(0, "(%p) S0 -> S3\n", lapb->dev); lapb 54 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_UA, frame->pf, lapb 56 net/lapb/lapb_in.c lapb_stop_t1timer(lapb); lapb 57 net/lapb/lapb_in.c lapb_stop_t2timer(lapb); lapb 58 net/lapb/lapb_in.c lapb->state = LAPB_STATE_3; lapb 59 net/lapb/lapb_in.c lapb->condition = 0x00; lapb 60 net/lapb/lapb_in.c lapb->n2count = 0; lapb 61 net/lapb/lapb_in.c lapb->vs = 0; lapb 62 net/lapb/lapb_in.c lapb->vr = 0; lapb 63 net/lapb/lapb_in.c lapb->va = 0; lapb 64 net/lapb/lapb_in.c lapb_connect_indication(lapb, LAPB_OK); lapb 69 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S0 RX SABME(%d)\n", lapb->dev, frame->pf); lapb 70 net/lapb/lapb_in.c if (lapb->mode & LAPB_EXTENDED) { lapb 72 net/lapb/lapb_in.c lapb->dev, frame->pf); lapb 73 net/lapb/lapb_in.c lapb_dbg(0, "(%p) S0 -> S3\n", lapb->dev); lapb 74 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_UA, frame->pf, lapb 76 net/lapb/lapb_in.c lapb_stop_t1timer(lapb); lapb 77 net/lapb/lapb_in.c lapb_stop_t2timer(lapb); lapb 78 net/lapb/lapb_in.c lapb->state = LAPB_STATE_3; lapb 79 net/lapb/lapb_in.c lapb->condition = 0x00; lapb 80 net/lapb/lapb_in.c lapb->n2count = 0; lapb 81 net/lapb/lapb_in.c lapb->vs = 0; lapb 82 net/lapb/lapb_in.c lapb->vr = 0; lapb 83 net/lapb/lapb_in.c lapb->va = 0; lapb 84 net/lapb/lapb_in.c lapb_connect_indication(lapb, LAPB_OK); lapb 87 net/lapb/lapb_in.c lapb->dev, frame->pf); lapb 88 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_DM, frame->pf, lapb 94 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S0 RX DISC(%d)\n", lapb->dev, frame->pf); lapb 95 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S0 TX UA(%d)\n", lapb->dev, frame->pf); lapb 96 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_UA, frame->pf, LAPB_RESPONSE); lapb 110 net/lapb/lapb_in.c static void lapb_state1_machine(struct lapb_cb *lapb, struct sk_buff *skb, lapb 115 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S1 RX SABM(%d)\n", lapb->dev, frame->pf); lapb 116 net/lapb/lapb_in.c if (lapb->mode & LAPB_EXTENDED) { lapb 118 net/lapb/lapb_in.c lapb->dev, frame->pf); lapb 119 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_DM, frame->pf, lapb 123 net/lapb/lapb_in.c lapb->dev, frame->pf); lapb 124 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_UA, frame->pf, lapb 130 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S1 RX SABME(%d)\n", lapb->dev, frame->pf); lapb 131 net/lapb/lapb_in.c if (lapb->mode & LAPB_EXTENDED) { lapb 133 net/lapb/lapb_in.c lapb->dev, frame->pf); lapb 134 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_UA, frame->pf, lapb 138 net/lapb/lapb_in.c lapb->dev, frame->pf); lapb 139 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_DM, frame->pf, lapb 145 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S1 RX DISC(%d)\n", lapb->dev, frame->pf); lapb 146 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S1 TX DM(%d)\n", lapb->dev, frame->pf); lapb 147 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_DM, frame->pf, LAPB_RESPONSE); lapb 151 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S1 RX UA(%d)\n", lapb->dev, frame->pf); lapb 153 net/lapb/lapb_in.c lapb_dbg(0, "(%p) S1 -> S3\n", lapb->dev); lapb 154 net/lapb/lapb_in.c lapb_stop_t1timer(lapb); lapb 155 net/lapb/lapb_in.c lapb_stop_t2timer(lapb); lapb 156 net/lapb/lapb_in.c lapb->state = LAPB_STATE_3; lapb 157 net/lapb/lapb_in.c lapb->condition = 0x00; lapb 158 net/lapb/lapb_in.c lapb->n2count = 0; lapb 159 net/lapb/lapb_in.c lapb->vs = 0; lapb 160 net/lapb/lapb_in.c lapb->vr = 0; lapb 161 net/lapb/lapb_in.c lapb->va = 0; lapb 162 net/lapb/lapb_in.c lapb_connect_confirmation(lapb, LAPB_OK); lapb 167 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S1 RX DM(%d)\n", lapb->dev, frame->pf); lapb 169 net/lapb/lapb_in.c lapb_dbg(0, "(%p) S1 -> S0\n", lapb->dev); lapb 170 net/lapb/lapb_in.c lapb_clear_queues(lapb); lapb 171 net/lapb/lapb_in.c lapb->state = LAPB_STATE_0; lapb 172 net/lapb/lapb_in.c lapb_start_t1timer(lapb); lapb 173 net/lapb/lapb_in.c lapb_stop_t2timer(lapb); lapb 174 net/lapb/lapb_in.c lapb_disconnect_indication(lapb, LAPB_REFUSED); lapb 186 net/lapb/lapb_in.c static void lapb_state2_machine(struct lapb_cb *lapb, struct sk_buff *skb, lapb 193 net/lapb/lapb_in.c lapb->dev, frame->pf); lapb 194 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S2 TX DM(%d)\n", lapb->dev, frame->pf); lapb 195 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_DM, frame->pf, LAPB_RESPONSE); lapb 199 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S2 RX DISC(%d)\n", lapb->dev, frame->pf); lapb 200 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S2 TX UA(%d)\n", lapb->dev, frame->pf); lapb 201 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_UA, frame->pf, LAPB_RESPONSE); lapb 205 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S2 RX UA(%d)\n", lapb->dev, frame->pf); lapb 207 net/lapb/lapb_in.c lapb_dbg(0, "(%p) S2 -> S0\n", lapb->dev); lapb 208 net/lapb/lapb_in.c lapb->state = LAPB_STATE_0; lapb 209 net/lapb/lapb_in.c lapb_start_t1timer(lapb); lapb 210 net/lapb/lapb_in.c lapb_stop_t2timer(lapb); lapb 211 net/lapb/lapb_in.c lapb_disconnect_confirmation(lapb, LAPB_OK); lapb 216 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S2 RX DM(%d)\n", lapb->dev, frame->pf); lapb 218 net/lapb/lapb_in.c lapb_dbg(0, "(%p) S2 -> S0\n", lapb->dev); lapb 219 net/lapb/lapb_in.c lapb->state = LAPB_STATE_0; lapb 220 net/lapb/lapb_in.c lapb_start_t1timer(lapb); lapb 221 net/lapb/lapb_in.c lapb_stop_t2timer(lapb); lapb 222 net/lapb/lapb_in.c lapb_disconnect_confirmation(lapb, LAPB_NOTCONNECTED); lapb 231 net/lapb/lapb_in.c lapb->dev, frame->pf); lapb 232 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S2 RX DM(%d)\n", lapb->dev, frame->pf); lapb 234 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_DM, frame->pf, lapb 246 net/lapb/lapb_in.c static void lapb_state3_machine(struct lapb_cb *lapb, struct sk_buff *skb, lapb 250 net/lapb/lapb_in.c int modulus = (lapb->mode & LAPB_EXTENDED) ? LAPB_EMODULUS : lapb 255 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S3 RX SABM(%d)\n", lapb->dev, frame->pf); lapb 256 net/lapb/lapb_in.c if (lapb->mode & LAPB_EXTENDED) { lapb 258 net/lapb/lapb_in.c lapb->dev, frame->pf); lapb 259 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_DM, frame->pf, lapb 263 net/lapb/lapb_in.c lapb->dev, frame->pf); lapb 264 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_UA, frame->pf, lapb 266 net/lapb/lapb_in.c lapb_stop_t1timer(lapb); lapb 267 net/lapb/lapb_in.c lapb_stop_t2timer(lapb); lapb 268 net/lapb/lapb_in.c lapb->condition = 0x00; lapb 269 net/lapb/lapb_in.c lapb->n2count = 0; lapb 270 net/lapb/lapb_in.c lapb->vs = 0; lapb 271 net/lapb/lapb_in.c lapb->vr = 0; lapb 272 net/lapb/lapb_in.c lapb->va = 0; lapb 273 net/lapb/lapb_in.c lapb_requeue_frames(lapb); lapb 278 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S3 RX SABME(%d)\n", lapb->dev, frame->pf); lapb 279 net/lapb/lapb_in.c if (lapb->mode & LAPB_EXTENDED) { lapb 281 net/lapb/lapb_in.c lapb->dev, frame->pf); lapb 282 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_UA, frame->pf, lapb 284 net/lapb/lapb_in.c lapb_stop_t1timer(lapb); lapb 285 net/lapb/lapb_in.c lapb_stop_t2timer(lapb); lapb 286 net/lapb/lapb_in.c lapb->condition = 0x00; lapb 287 net/lapb/lapb_in.c lapb->n2count = 0; lapb 288 net/lapb/lapb_in.c lapb->vs = 0; lapb 289 net/lapb/lapb_in.c lapb->vr = 0; lapb 290 net/lapb/lapb_in.c lapb->va = 0; lapb 291 net/lapb/lapb_in.c lapb_requeue_frames(lapb); lapb 294 net/lapb/lapb_in.c lapb->dev, frame->pf); lapb 295 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_DM, frame->pf, lapb 301 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S3 RX DISC(%d)\n", lapb->dev, frame->pf); lapb 302 net/lapb/lapb_in.c lapb_dbg(0, "(%p) S3 -> S0\n", lapb->dev); lapb 303 net/lapb/lapb_in.c lapb_clear_queues(lapb); lapb 304 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_UA, frame->pf, LAPB_RESPONSE); lapb 305 net/lapb/lapb_in.c lapb_start_t1timer(lapb); lapb 306 net/lapb/lapb_in.c lapb_stop_t2timer(lapb); lapb 307 net/lapb/lapb_in.c lapb->state = LAPB_STATE_0; lapb 308 net/lapb/lapb_in.c lapb_disconnect_indication(lapb, LAPB_OK); lapb 312 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S3 RX DM(%d)\n", lapb->dev, frame->pf); lapb 313 net/lapb/lapb_in.c lapb_dbg(0, "(%p) S3 -> S0\n", lapb->dev); lapb 314 net/lapb/lapb_in.c lapb_clear_queues(lapb); lapb 315 net/lapb/lapb_in.c lapb->state = LAPB_STATE_0; lapb 316 net/lapb/lapb_in.c lapb_start_t1timer(lapb); lapb 317 net/lapb/lapb_in.c lapb_stop_t2timer(lapb); lapb 318 net/lapb/lapb_in.c lapb_disconnect_indication(lapb, LAPB_NOTCONNECTED); lapb 323 net/lapb/lapb_in.c lapb->dev, frame->pf, frame->nr); lapb 324 net/lapb/lapb_in.c lapb->condition |= LAPB_PEER_RX_BUSY_CONDITION; lapb 325 net/lapb/lapb_in.c lapb_check_need_response(lapb, frame->cr, frame->pf); lapb 326 net/lapb/lapb_in.c if (lapb_validate_nr(lapb, frame->nr)) { lapb 327 net/lapb/lapb_in.c lapb_check_iframes_acked(lapb, frame->nr); lapb 329 net/lapb/lapb_in.c lapb->frmr_data = *frame; lapb 330 net/lapb/lapb_in.c lapb->frmr_type = LAPB_FRMR_Z; lapb 331 net/lapb/lapb_in.c lapb_transmit_frmr(lapb); lapb 332 net/lapb/lapb_in.c lapb_dbg(0, "(%p) S3 -> S4\n", lapb->dev); lapb 333 net/lapb/lapb_in.c lapb_start_t1timer(lapb); lapb 334 net/lapb/lapb_in.c lapb_stop_t2timer(lapb); lapb 335 net/lapb/lapb_in.c lapb->state = LAPB_STATE_4; lapb 336 net/lapb/lapb_in.c lapb->n2count = 0; lapb 342 net/lapb/lapb_in.c lapb->dev, frame->pf, frame->nr); lapb 343 net/lapb/lapb_in.c lapb->condition &= ~LAPB_PEER_RX_BUSY_CONDITION; lapb 344 net/lapb/lapb_in.c lapb_check_need_response(lapb, frame->cr, frame->pf); lapb 345 net/lapb/lapb_in.c if (lapb_validate_nr(lapb, frame->nr)) { lapb 346 net/lapb/lapb_in.c lapb_check_iframes_acked(lapb, frame->nr); lapb 348 net/lapb/lapb_in.c lapb->frmr_data = *frame; lapb 349 net/lapb/lapb_in.c lapb->frmr_type = LAPB_FRMR_Z; lapb 350 net/lapb/lapb_in.c lapb_transmit_frmr(lapb); lapb 351 net/lapb/lapb_in.c lapb_dbg(0, "(%p) S3 -> S4\n", lapb->dev); lapb 352 net/lapb/lapb_in.c lapb_start_t1timer(lapb); lapb 353 net/lapb/lapb_in.c lapb_stop_t2timer(lapb); lapb 354 net/lapb/lapb_in.c lapb->state = LAPB_STATE_4; lapb 355 net/lapb/lapb_in.c lapb->n2count = 0; lapb 361 net/lapb/lapb_in.c lapb->dev, frame->pf, frame->nr); lapb 362 net/lapb/lapb_in.c lapb->condition &= ~LAPB_PEER_RX_BUSY_CONDITION; lapb 363 net/lapb/lapb_in.c lapb_check_need_response(lapb, frame->cr, frame->pf); lapb 364 net/lapb/lapb_in.c if (lapb_validate_nr(lapb, frame->nr)) { lapb 365 net/lapb/lapb_in.c lapb_frames_acked(lapb, frame->nr); lapb 366 net/lapb/lapb_in.c lapb_stop_t1timer(lapb); lapb 367 net/lapb/lapb_in.c lapb->n2count = 0; lapb 368 net/lapb/lapb_in.c lapb_requeue_frames(lapb); lapb 370 net/lapb/lapb_in.c lapb->frmr_data = *frame; lapb 371 net/lapb/lapb_in.c lapb->frmr_type = LAPB_FRMR_Z; lapb 372 net/lapb/lapb_in.c lapb_transmit_frmr(lapb); lapb 373 net/lapb/lapb_in.c lapb_dbg(0, "(%p) S3 -> S4\n", lapb->dev); lapb 374 net/lapb/lapb_in.c lapb_start_t1timer(lapb); lapb 375 net/lapb/lapb_in.c lapb_stop_t2timer(lapb); lapb 376 net/lapb/lapb_in.c lapb->state = LAPB_STATE_4; lapb 377 net/lapb/lapb_in.c lapb->n2count = 0; lapb 383 net/lapb/lapb_in.c lapb->dev, frame->pf, frame->ns, frame->nr); lapb 384 net/lapb/lapb_in.c if (!lapb_validate_nr(lapb, frame->nr)) { lapb 385 net/lapb/lapb_in.c lapb->frmr_data = *frame; lapb 386 net/lapb/lapb_in.c lapb->frmr_type = LAPB_FRMR_Z; lapb 387 net/lapb/lapb_in.c lapb_transmit_frmr(lapb); lapb 388 net/lapb/lapb_in.c lapb_dbg(0, "(%p) S3 -> S4\n", lapb->dev); lapb 389 net/lapb/lapb_in.c lapb_start_t1timer(lapb); lapb 390 net/lapb/lapb_in.c lapb_stop_t2timer(lapb); lapb 391 net/lapb/lapb_in.c lapb->state = LAPB_STATE_4; lapb 392 net/lapb/lapb_in.c lapb->n2count = 0; lapb 395 net/lapb/lapb_in.c if (lapb->condition & LAPB_PEER_RX_BUSY_CONDITION) lapb 396 net/lapb/lapb_in.c lapb_frames_acked(lapb, frame->nr); lapb 398 net/lapb/lapb_in.c lapb_check_iframes_acked(lapb, frame->nr); lapb 400 net/lapb/lapb_in.c if (frame->ns == lapb->vr) { lapb 402 net/lapb/lapb_in.c cn = lapb_data_indication(lapb, skb); lapb 415 net/lapb/lapb_in.c lapb->vr = (lapb->vr + 1) % modulus; lapb 416 net/lapb/lapb_in.c lapb->condition &= ~LAPB_REJECT_CONDITION; lapb 418 net/lapb/lapb_in.c lapb_enquiry_response(lapb); lapb 420 net/lapb/lapb_in.c if (!(lapb->condition & lapb 422 net/lapb/lapb_in.c lapb->condition |= LAPB_ACK_PENDING_CONDITION; lapb 423 net/lapb/lapb_in.c lapb_start_t2timer(lapb); lapb 427 net/lapb/lapb_in.c if (lapb->condition & LAPB_REJECT_CONDITION) { lapb 429 net/lapb/lapb_in.c lapb_enquiry_response(lapb); lapb 432 net/lapb/lapb_in.c lapb->dev, frame->pf, lapb->vr); lapb 433 net/lapb/lapb_in.c lapb->condition |= LAPB_REJECT_CONDITION; lapb 434 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_REJ, frame->pf, lapb 436 net/lapb/lapb_in.c lapb->condition &= ~LAPB_ACK_PENDING_CONDITION; lapb 443 net/lapb/lapb_in.c lapb->dev, frame->pf, lapb 445 net/lapb/lapb_in.c lapb_establish_data_link(lapb); lapb 446 net/lapb/lapb_in.c lapb_dbg(0, "(%p) S3 -> S1\n", lapb->dev); lapb 447 net/lapb/lapb_in.c lapb_requeue_frames(lapb); lapb 448 net/lapb/lapb_in.c lapb->state = LAPB_STATE_1; lapb 452 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S3 RX ILLEGAL(%d)\n", lapb->dev, frame->pf); lapb 453 net/lapb/lapb_in.c lapb->frmr_data = *frame; lapb 454 net/lapb/lapb_in.c lapb->frmr_type = LAPB_FRMR_W; lapb 455 net/lapb/lapb_in.c lapb_transmit_frmr(lapb); lapb 456 net/lapb/lapb_in.c lapb_dbg(0, "(%p) S3 -> S4\n", lapb->dev); lapb 457 net/lapb/lapb_in.c lapb_start_t1timer(lapb); lapb 458 net/lapb/lapb_in.c lapb_stop_t2timer(lapb); lapb 459 net/lapb/lapb_in.c lapb->state = LAPB_STATE_4; lapb 460 net/lapb/lapb_in.c lapb->n2count = 0; lapb 472 net/lapb/lapb_in.c static void lapb_state4_machine(struct lapb_cb *lapb, struct sk_buff *skb, lapb 477 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S4 RX SABM(%d)\n", lapb->dev, frame->pf); lapb 478 net/lapb/lapb_in.c if (lapb->mode & LAPB_EXTENDED) { lapb 480 net/lapb/lapb_in.c lapb->dev, frame->pf); lapb 481 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_DM, frame->pf, lapb 485 net/lapb/lapb_in.c lapb->dev, frame->pf); lapb 486 net/lapb/lapb_in.c lapb_dbg(0, "(%p) S4 -> S3\n", lapb->dev); lapb 487 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_UA, frame->pf, lapb 489 net/lapb/lapb_in.c lapb_stop_t1timer(lapb); lapb 490 net/lapb/lapb_in.c lapb_stop_t2timer(lapb); lapb 491 net/lapb/lapb_in.c lapb->state = LAPB_STATE_3; lapb 492 net/lapb/lapb_in.c lapb->condition = 0x00; lapb 493 net/lapb/lapb_in.c lapb->n2count = 0; lapb 494 net/lapb/lapb_in.c lapb->vs = 0; lapb 495 net/lapb/lapb_in.c lapb->vr = 0; lapb 496 net/lapb/lapb_in.c lapb->va = 0; lapb 497 net/lapb/lapb_in.c lapb_connect_indication(lapb, LAPB_OK); lapb 502 net/lapb/lapb_in.c lapb_dbg(1, "(%p) S4 RX SABME(%d)\n", lapb->dev, frame->pf); lapb 503 net/lapb/lapb_in.c if (lapb->mode & LAPB_EXTENDED) { lapb 505 net/lapb/lapb_in.c lapb->dev, frame->pf); lapb 506 net/lapb/lapb_in.c lapb_dbg(0, "(%p) S4 -> S3\n", lapb->dev); lapb 507 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_UA, frame->pf, lapb 509 net/lapb/lapb_in.c lapb_stop_t1timer(lapb); lapb 510 net/lapb/lapb_in.c lapb_stop_t2timer(lapb); lapb 511 net/lapb/lapb_in.c lapb->state = LAPB_STATE_3; lapb 512 net/lapb/lapb_in.c lapb->condition = 0x00; lapb 513 net/lapb/lapb_in.c lapb->n2count = 0; lapb 514 net/lapb/lapb_in.c lapb->vs = 0; lapb 515 net/lapb/lapb_in.c lapb->vr = 0; lapb 516 net/lapb/lapb_in.c lapb->va = 0; lapb 517 net/lapb/lapb_in.c lapb_connect_indication(lapb, LAPB_OK); lapb 520 net/lapb/lapb_in.c lapb->dev, frame->pf); lapb 521 net/lapb/lapb_in.c lapb_send_control(lapb, LAPB_DM, frame->pf, lapb 533 net/lapb/lapb_in.c void lapb_data_input(struct lapb_cb *lapb, struct sk_buff *skb) lapb 537 net/lapb/lapb_in.c if (lapb_decode(lapb, skb, &frame) < 0) { lapb 542 net/lapb/lapb_in.c switch (lapb->state) { lapb 544 net/lapb/lapb_in.c lapb_state0_machine(lapb, skb, &frame); break; lapb 546 net/lapb/lapb_in.c lapb_state1_machine(lapb, skb, &frame); break; lapb 548 net/lapb/lapb_in.c lapb_state2_machine(lapb, skb, &frame); break; lapb 550 net/lapb/lapb_in.c lapb_state3_machine(lapb, skb, &frame); break; lapb 552 net/lapb/lapb_in.c lapb_state4_machine(lapb, skb, &frame); break; lapb 555 net/lapb/lapb_in.c lapb_kick(lapb); lapb 37 net/lapb/lapb_out.c static void lapb_send_iframe(struct lapb_cb *lapb, struct sk_buff *skb, int poll_bit) lapb 44 net/lapb/lapb_out.c if (lapb->mode & LAPB_EXTENDED) { lapb 48 net/lapb/lapb_out.c frame[0] |= lapb->vs << 1; lapb 50 net/lapb/lapb_out.c frame[1] |= lapb->vr << 1; lapb 56 net/lapb/lapb_out.c *frame |= lapb->vr << 5; lapb 57 net/lapb/lapb_out.c *frame |= lapb->vs << 1; lapb 61 net/lapb/lapb_out.c lapb->dev, lapb->state, poll_bit, lapb->vs, lapb->vr); lapb 63 net/lapb/lapb_out.c lapb_transmit_buffer(lapb, skb, LAPB_COMMAND); lapb 66 net/lapb/lapb_out.c void lapb_kick(struct lapb_cb *lapb) lapb 71 net/lapb/lapb_out.c modulus = (lapb->mode & LAPB_EXTENDED) ? LAPB_EMODULUS : LAPB_SMODULUS; lapb 72 net/lapb/lapb_out.c start = !skb_peek(&lapb->ack_queue) ? lapb->va : lapb->vs; lapb 73 net/lapb/lapb_out.c end = (lapb->va + lapb->window) % modulus; lapb 75 net/lapb/lapb_out.c if (!(lapb->condition & LAPB_PEER_RX_BUSY_CONDITION) && lapb 76 net/lapb/lapb_out.c start != end && skb_peek(&lapb->write_queue)) { lapb 77 net/lapb/lapb_out.c lapb->vs = start; lapb 82 net/lapb/lapb_out.c skb = skb_dequeue(&lapb->write_queue); lapb 86 net/lapb/lapb_out.c skb_queue_head(&lapb->write_queue, skb); lapb 96 net/lapb/lapb_out.c lapb_send_iframe(lapb, skbn, LAPB_POLLOFF); lapb 98 net/lapb/lapb_out.c lapb->vs = (lapb->vs + 1) % modulus; lapb 103 net/lapb/lapb_out.c skb_queue_tail(&lapb->ack_queue, skb); lapb 105 net/lapb/lapb_out.c } while (lapb->vs != end && (skb = skb_dequeue(&lapb->write_queue)) != NULL); lapb 107 net/lapb/lapb_out.c lapb->condition &= ~LAPB_ACK_PENDING_CONDITION; lapb 109 net/lapb/lapb_out.c if (!lapb_t1timer_running(lapb)) lapb 110 net/lapb/lapb_out.c lapb_start_t1timer(lapb); lapb 114 net/lapb/lapb_out.c void lapb_transmit_buffer(struct lapb_cb *lapb, struct sk_buff *skb, int type) lapb 120 net/lapb/lapb_out.c if (lapb->mode & LAPB_MLP) { lapb 121 net/lapb/lapb_out.c if (lapb->mode & LAPB_DCE) { lapb 133 net/lapb/lapb_out.c if (lapb->mode & LAPB_DCE) { lapb 146 net/lapb/lapb_out.c lapb_dbg(2, "(%p) S%d TX %3ph\n", lapb->dev, lapb->state, skb->data); lapb 148 net/lapb/lapb_out.c if (!lapb_data_transmit(lapb, skb)) lapb 152 net/lapb/lapb_out.c void lapb_establish_data_link(struct lapb_cb *lapb) lapb 154 net/lapb/lapb_out.c lapb->condition = 0x00; lapb 155 net/lapb/lapb_out.c lapb->n2count = 0; lapb 157 net/lapb/lapb_out.c if (lapb->mode & LAPB_EXTENDED) { lapb 158 net/lapb/lapb_out.c lapb_dbg(1, "(%p) S%d TX SABME(1)\n", lapb->dev, lapb->state); lapb 159 net/lapb/lapb_out.c lapb_send_control(lapb, LAPB_SABME, LAPB_POLLON, LAPB_COMMAND); lapb 161 net/lapb/lapb_out.c lapb_dbg(1, "(%p) S%d TX SABM(1)\n", lapb->dev, lapb->state); lapb 162 net/lapb/lapb_out.c lapb_send_control(lapb, LAPB_SABM, LAPB_POLLON, LAPB_COMMAND); lapb 165 net/lapb/lapb_out.c lapb_start_t1timer(lapb); lapb 166 net/lapb/lapb_out.c lapb_stop_t2timer(lapb); lapb 169 net/lapb/lapb_out.c void lapb_enquiry_response(struct lapb_cb *lapb) lapb 172 net/lapb/lapb_out.c lapb->dev, lapb->state, lapb->vr); lapb 174 net/lapb/lapb_out.c lapb_send_control(lapb, LAPB_RR, LAPB_POLLON, LAPB_RESPONSE); lapb 176 net/lapb/lapb_out.c lapb->condition &= ~LAPB_ACK_PENDING_CONDITION; lapb 179 net/lapb/lapb_out.c void lapb_timeout_response(struct lapb_cb *lapb) lapb 182 net/lapb/lapb_out.c lapb->dev, lapb->state, lapb->vr); lapb 183 net/lapb/lapb_out.c lapb_send_control(lapb, LAPB_RR, LAPB_POLLOFF, LAPB_RESPONSE); lapb 185 net/lapb/lapb_out.c lapb->condition &= ~LAPB_ACK_PENDING_CONDITION; lapb 188 net/lapb/lapb_out.c void lapb_check_iframes_acked(struct lapb_cb *lapb, unsigned short nr) lapb 190 net/lapb/lapb_out.c if (lapb->vs == nr) { lapb 191 net/lapb/lapb_out.c lapb_frames_acked(lapb, nr); lapb 192 net/lapb/lapb_out.c lapb_stop_t1timer(lapb); lapb 193 net/lapb/lapb_out.c lapb->n2count = 0; lapb 194 net/lapb/lapb_out.c } else if (lapb->va != nr) { lapb 195 net/lapb/lapb_out.c lapb_frames_acked(lapb, nr); lapb 196 net/lapb/lapb_out.c lapb_start_t1timer(lapb); lapb 200 net/lapb/lapb_out.c void lapb_check_need_response(struct lapb_cb *lapb, int type, int pf) lapb 203 net/lapb/lapb_out.c lapb_enquiry_response(lapb); lapb 35 net/lapb/lapb_subr.c void lapb_clear_queues(struct lapb_cb *lapb) lapb 37 net/lapb/lapb_subr.c skb_queue_purge(&lapb->write_queue); lapb 38 net/lapb/lapb_subr.c skb_queue_purge(&lapb->ack_queue); lapb 46 net/lapb/lapb_subr.c void lapb_frames_acked(struct lapb_cb *lapb, unsigned short nr) lapb 51 net/lapb/lapb_subr.c modulus = (lapb->mode & LAPB_EXTENDED) ? LAPB_EMODULUS : LAPB_SMODULUS; lapb 56 net/lapb/lapb_subr.c if (lapb->va != nr) lapb 57 net/lapb/lapb_subr.c while (skb_peek(&lapb->ack_queue) && lapb->va != nr) { lapb 58 net/lapb/lapb_subr.c skb = skb_dequeue(&lapb->ack_queue); lapb 60 net/lapb/lapb_subr.c lapb->va = (lapb->va + 1) % modulus; lapb 64 net/lapb/lapb_subr.c void lapb_requeue_frames(struct lapb_cb *lapb) lapb 73 net/lapb/lapb_subr.c while ((skb = skb_dequeue(&lapb->ack_queue)) != NULL) { lapb 75 net/lapb/lapb_subr.c skb_queue_head(&lapb->write_queue, skb); lapb 77 net/lapb/lapb_subr.c skb_append(skb_prev, skb, &lapb->write_queue); lapb 86 net/lapb/lapb_subr.c int lapb_validate_nr(struct lapb_cb *lapb, unsigned short nr) lapb 88 net/lapb/lapb_subr.c unsigned short vc = lapb->va; lapb 91 net/lapb/lapb_subr.c modulus = (lapb->mode & LAPB_EXTENDED) ? LAPB_EMODULUS : LAPB_SMODULUS; lapb 93 net/lapb/lapb_subr.c while (vc != lapb->vs) { lapb 99 net/lapb/lapb_subr.c return nr == lapb->vs; lapb 106 net/lapb/lapb_subr.c int lapb_decode(struct lapb_cb *lapb, struct sk_buff *skb, lapb 111 net/lapb/lapb_subr.c lapb_dbg(2, "(%p) S%d RX %3ph\n", lapb->dev, lapb->state, skb->data); lapb 119 net/lapb/lapb_subr.c if (lapb->mode & LAPB_MLP) { lapb 120 net/lapb/lapb_subr.c if (lapb->mode & LAPB_DCE) { lapb 132 net/lapb/lapb_subr.c if (lapb->mode & LAPB_DCE) { lapb 147 net/lapb/lapb_subr.c if (lapb->mode & LAPB_EXTENDED) { lapb 221 net/lapb/lapb_subr.c void lapb_send_control(struct lapb_cb *lapb, int frametype, lapb 232 net/lapb/lapb_subr.c if (lapb->mode & LAPB_EXTENDED) { lapb 240 net/lapb/lapb_subr.c dptr[1] = (lapb->vr << 1); lapb 248 net/lapb/lapb_subr.c *dptr |= (lapb->vr << 5); lapb 251 net/lapb/lapb_subr.c lapb_transmit_buffer(lapb, skb, type); lapb 258 net/lapb/lapb_subr.c void lapb_transmit_frmr(struct lapb_cb *lapb) lapb 268 net/lapb/lapb_subr.c if (lapb->mode & LAPB_EXTENDED) { lapb 271 net/lapb/lapb_subr.c *dptr++ = lapb->frmr_data.control[0]; lapb 272 net/lapb/lapb_subr.c *dptr++ = lapb->frmr_data.control[1]; lapb 273 net/lapb/lapb_subr.c *dptr++ = (lapb->vs << 1) & 0xFE; lapb 274 net/lapb/lapb_subr.c *dptr = (lapb->vr << 1) & 0xFE; lapb 275 net/lapb/lapb_subr.c if (lapb->frmr_data.cr == LAPB_RESPONSE) lapb 278 net/lapb/lapb_subr.c *dptr++ = lapb->frmr_type; lapb 281 net/lapb/lapb_subr.c lapb->dev, lapb->state, lapb 286 net/lapb/lapb_subr.c *dptr++ = lapb->frmr_data.control[0]; lapb 287 net/lapb/lapb_subr.c *dptr = (lapb->vs << 1) & 0x0E; lapb 288 net/lapb/lapb_subr.c *dptr |= (lapb->vr << 5) & 0xE0; lapb 289 net/lapb/lapb_subr.c if (lapb->frmr_data.cr == LAPB_RESPONSE) lapb 292 net/lapb/lapb_subr.c *dptr++ = lapb->frmr_type; lapb 295 net/lapb/lapb_subr.c lapb->dev, lapb->state, &skb->data[1]); lapb 298 net/lapb/lapb_subr.c lapb_transmit_buffer(lapb, skb, LAPB_RESPONSE); lapb 36 net/lapb/lapb_timer.c void lapb_start_t1timer(struct lapb_cb *lapb) lapb 38 net/lapb/lapb_timer.c del_timer(&lapb->t1timer); lapb 40 net/lapb/lapb_timer.c lapb->t1timer.function = lapb_t1timer_expiry; lapb 41 net/lapb/lapb_timer.c lapb->t1timer.expires = jiffies + lapb->t1; lapb 43 net/lapb/lapb_timer.c add_timer(&lapb->t1timer); lapb 46 net/lapb/lapb_timer.c void lapb_start_t2timer(struct lapb_cb *lapb) lapb 48 net/lapb/lapb_timer.c del_timer(&lapb->t2timer); lapb 50 net/lapb/lapb_timer.c lapb->t2timer.function = lapb_t2timer_expiry; lapb 51 net/lapb/lapb_timer.c lapb->t2timer.expires = jiffies + lapb->t2; lapb 53 net/lapb/lapb_timer.c add_timer(&lapb->t2timer); lapb 56 net/lapb/lapb_timer.c void lapb_stop_t1timer(struct lapb_cb *lapb) lapb 58 net/lapb/lapb_timer.c del_timer(&lapb->t1timer); lapb 61 net/lapb/lapb_timer.c void lapb_stop_t2timer(struct lapb_cb *lapb) lapb 63 net/lapb/lapb_timer.c del_timer(&lapb->t2timer); lapb 66 net/lapb/lapb_timer.c int lapb_t1timer_running(struct lapb_cb *lapb) lapb 68 net/lapb/lapb_timer.c return timer_pending(&lapb->t1timer); lapb 73 net/lapb/lapb_timer.c struct lapb_cb *lapb = from_timer(lapb, t, t2timer); lapb 75 net/lapb/lapb_timer.c if (lapb->condition & LAPB_ACK_PENDING_CONDITION) { lapb 76 net/lapb/lapb_timer.c lapb->condition &= ~LAPB_ACK_PENDING_CONDITION; lapb 77 net/lapb/lapb_timer.c lapb_timeout_response(lapb); lapb 83 net/lapb/lapb_timer.c struct lapb_cb *lapb = from_timer(lapb, t, t1timer); lapb 85 net/lapb/lapb_timer.c switch (lapb->state) { lapb 91 net/lapb/lapb_timer.c if (lapb->mode & LAPB_DCE) lapb 92 net/lapb/lapb_timer.c lapb_send_control(lapb, LAPB_DM, LAPB_POLLOFF, LAPB_RESPONSE); lapb 99 net/lapb/lapb_timer.c if (lapb->n2count == lapb->n2) { lapb 100 net/lapb/lapb_timer.c lapb_clear_queues(lapb); lapb 101 net/lapb/lapb_timer.c lapb->state = LAPB_STATE_0; lapb 102 net/lapb/lapb_timer.c lapb_disconnect_indication(lapb, LAPB_TIMEDOUT); lapb 103 net/lapb/lapb_timer.c lapb_dbg(0, "(%p) S1 -> S0\n", lapb->dev); lapb 106 net/lapb/lapb_timer.c lapb->n2count++; lapb 107 net/lapb/lapb_timer.c if (lapb->mode & LAPB_EXTENDED) { lapb 109 net/lapb/lapb_timer.c lapb->dev); lapb 110 net/lapb/lapb_timer.c lapb_send_control(lapb, LAPB_SABME, LAPB_POLLON, LAPB_COMMAND); lapb 113 net/lapb/lapb_timer.c lapb->dev); lapb 114 net/lapb/lapb_timer.c lapb_send_control(lapb, LAPB_SABM, LAPB_POLLON, LAPB_COMMAND); lapb 123 net/lapb/lapb_timer.c if (lapb->n2count == lapb->n2) { lapb 124 net/lapb/lapb_timer.c lapb_clear_queues(lapb); lapb 125 net/lapb/lapb_timer.c lapb->state = LAPB_STATE_0; lapb 126 net/lapb/lapb_timer.c lapb_disconnect_confirmation(lapb, LAPB_TIMEDOUT); lapb 127 net/lapb/lapb_timer.c lapb_dbg(0, "(%p) S2 -> S0\n", lapb->dev); lapb 130 net/lapb/lapb_timer.c lapb->n2count++; lapb 131 net/lapb/lapb_timer.c lapb_dbg(1, "(%p) S2 TX DISC(1)\n", lapb->dev); lapb 132 net/lapb/lapb_timer.c lapb_send_control(lapb, LAPB_DISC, LAPB_POLLON, LAPB_COMMAND); lapb 140 net/lapb/lapb_timer.c if (lapb->n2count == lapb->n2) { lapb 141 net/lapb/lapb_timer.c lapb_clear_queues(lapb); lapb 142 net/lapb/lapb_timer.c lapb->state = LAPB_STATE_0; lapb 143 net/lapb/lapb_timer.c lapb_stop_t2timer(lapb); lapb 144 net/lapb/lapb_timer.c lapb_disconnect_indication(lapb, LAPB_TIMEDOUT); lapb 145 net/lapb/lapb_timer.c lapb_dbg(0, "(%p) S3 -> S0\n", lapb->dev); lapb 148 net/lapb/lapb_timer.c lapb->n2count++; lapb 149 net/lapb/lapb_timer.c lapb_requeue_frames(lapb); lapb 150 net/lapb/lapb_timer.c lapb_kick(lapb); lapb 158 net/lapb/lapb_timer.c if (lapb->n2count == lapb->n2) { lapb 159 net/lapb/lapb_timer.c lapb_clear_queues(lapb); lapb 160 net/lapb/lapb_timer.c lapb->state = LAPB_STATE_0; lapb 161 net/lapb/lapb_timer.c lapb_disconnect_indication(lapb, LAPB_TIMEDOUT); lapb 162 net/lapb/lapb_timer.c lapb_dbg(0, "(%p) S4 -> S0\n", lapb->dev); lapb 165 net/lapb/lapb_timer.c lapb->n2count++; lapb 166 net/lapb/lapb_timer.c lapb_transmit_frmr(lapb); lapb 171 net/lapb/lapb_timer.c lapb_start_t1timer(lapb);