• Home
  • Raw
  • Download

Lines Matching full:rcv

342 				 struct plip_local *rcv,
351 struct plip_local *snd, struct plip_local *rcv);
368 struct plip_local *rcv = &nl->rcv_data; in plip_bh() local
374 if ((r = (*f)(nl->dev, nl, snd, rcv)) != OK && in plip_bh()
375 (r = plip_bh_timeout_error(nl->dev, nl, snd, rcv, r)) != OK) { in plip_bh()
399 struct plip_local *snd, struct plip_local *rcv, in plip_bh_timeout_error() argument
432 if (rcv->state == PLIP_PK_TRIGGER) { in plip_bh_timeout_error()
445 dev->name, rcv->state, c0); in plip_bh_timeout_error()
449 rcv->state = PLIP_PK_DONE; in plip_bh_timeout_error()
450 if (rcv->skb) { in plip_bh_timeout_error()
451 kfree_skb(rcv->skb); in plip_bh_timeout_error()
452 rcv->skb = NULL; in plip_bh_timeout_error()
474 struct plip_local *snd, struct plip_local *rcv) in plip_none() argument
586 struct plip_local *snd, struct plip_local *rcv) in plip_receive_packet() argument
591 switch (rcv->state) { in plip_receive_packet()
599 rcv->state = PLIP_PK_LENGTH_LSB; in plip_receive_packet()
600 rcv->nibble = PLIP_NB_BEGIN; in plip_receive_packet()
606 &rcv->nibble, &rcv->length.b.lsb)) { in plip_receive_packet()
608 rcv->state = PLIP_PK_DONE; in plip_receive_packet()
618 &rcv->nibble, &rcv->length.b.lsb)) in plip_receive_packet()
621 rcv->state = PLIP_PK_LENGTH_MSB; in plip_receive_packet()
626 &rcv->nibble, &rcv->length.b.msb)) in plip_receive_packet()
628 if (rcv->length.h > dev->mtu + dev->hard_header_len || in plip_receive_packet()
629 rcv->length.h < 8) { in plip_receive_packet()
630 printk(KERN_WARNING "%s: bogus packet size %d.\n", dev->name, rcv->length.h); in plip_receive_packet()
634 rcv->skb = dev_alloc_skb(rcv->length.h + 2); in plip_receive_packet()
635 if (rcv->skb == NULL) { in plip_receive_packet()
639 skb_reserve(rcv->skb, 2); /* Align IP on 16 byte boundaries */ in plip_receive_packet()
640 skb_put(rcv->skb,rcv->length.h); in plip_receive_packet()
641 rcv->skb->dev = dev; in plip_receive_packet()
642 rcv->state = PLIP_PK_DATA; in plip_receive_packet()
643 rcv->byte = 0; in plip_receive_packet()
644 rcv->checksum = 0; in plip_receive_packet()
648 lbuf = rcv->skb->data; in plip_receive_packet()
651 &rcv->nibble, &lbuf[rcv->byte])) in plip_receive_packet()
653 } while (++rcv->byte < rcv->length.h); in plip_receive_packet()
655 rcv->checksum += lbuf[--rcv->byte]; in plip_receive_packet()
656 } while (rcv->byte); in plip_receive_packet()
657 rcv->state = PLIP_PK_CHECKSUM; in plip_receive_packet()
662 &rcv->nibble, &rcv->data)) in plip_receive_packet()
664 if (rcv->data != rcv->checksum) { in plip_receive_packet()
670 rcv->state = PLIP_PK_DONE; in plip_receive_packet()
675 rcv->skb->protocol=plip_type_trans(rcv->skb, dev); in plip_receive_packet()
676 netif_rx_ni(rcv->skb); in plip_receive_packet()
677 dev->stats.rx_bytes += rcv->length.h; in plip_receive_packet()
679 rcv->skb = NULL; in plip_receive_packet()
754 struct plip_local *snd, struct plip_local *rcv) in plip_send_packet() argument
873 struct plip_local *snd, struct plip_local *rcv) in plip_connection_close() argument
891 struct plip_local *snd, struct plip_local *rcv) in plip_error() argument
919 struct plip_local *rcv; in plip_interrupt() local
924 rcv = &nl->rcv_data; in plip_interrupt()
945 rcv->state = PLIP_PK_TRIGGER; in plip_interrupt()
1127 struct plip_local *rcv = &nl->rcv_data; in plip_close() local
1155 rcv->state = PLIP_PK_DONE; in plip_close()
1156 if (rcv->skb) { in plip_close()
1157 kfree_skb(rcv->skb); in plip_close()
1158 rcv->skb = NULL; in plip_close()