tag | line | file | source code |
strip_info | 474 | drivers/net/strip.c | static void strip_changedmtu(struct strip *strip_info) |
strip_info | 476 | drivers/net/strip.c | struct device *dev = &strip_info->dev; |
strip_info | 491 | drivers/net/strip.c | strip_info->dev.name); |
strip_info | 492 | drivers/net/strip.c | dev->mtu = strip_info->mtu; |
strip_info | 503 | drivers/net/strip.c | otbuff = strip_info->tx_buff; strip_info->tx_buff = tbuff; |
strip_info | 504 | drivers/net/strip.c | orbuff = strip_info->rx_buff; strip_info->rx_buff = rbuff; |
strip_info | 505 | drivers/net/strip.c | osbuff = strip_info->sx_buff; strip_info->sx_buff = sbuff; |
strip_info | 506 | drivers/net/strip.c | if (strip_info->tx_left) |
strip_info | 508 | drivers/net/strip.c | if (strip_info->tx_left <= len) |
strip_info | 509 | drivers/net/strip.c | memcpy(strip_info->tx_buff, strip_info->tx_head, strip_info->tx_left); |
strip_info | 512 | drivers/net/strip.c | strip_info->tx_left = 0; |
strip_info | 513 | drivers/net/strip.c | strip_info->tx_dropped++; |
strip_info | 516 | drivers/net/strip.c | strip_info->tx_head = strip_info->tx_buff; |
strip_info | 518 | drivers/net/strip.c | if (strip_info->sx_count) |
strip_info | 520 | drivers/net/strip.c | if (strip_info->sx_count <= len) |
strip_info | 521 | drivers/net/strip.c | memcpy(strip_info->sx_buff, osbuff, strip_info->sx_count); |
strip_info | 524 | drivers/net/strip.c | strip_info->sx_count = 0; |
strip_info | 525 | drivers/net/strip.c | strip_info->rx_over_errors++; |
strip_info | 526 | drivers/net/strip.c | set_bit(STR_ERROR, &strip_info->flags); |
strip_info | 530 | drivers/net/strip.c | strip_info->mtu = STRIP_ENCAP_SIZE(dev->mtu); |
strip_info | 531 | drivers/net/strip.c | strip_info->buffsize = len; |
strip_info | 543 | drivers/net/strip.c | static void strip_unlock(struct strip *strip_info) |
strip_info | 545 | drivers/net/strip.c | strip_info->idle_timer.expires = jiffies + 2 * HZ; |
strip_info | 546 | drivers/net/strip.c | add_timer(&strip_info->idle_timer); |
strip_info | 547 | drivers/net/strip.c | if (!clear_bit(0, (void *)&strip_info->dev.tbusy)) |
strip_info | 549 | drivers/net/strip.c | strip_info->dev.name); |
strip_info | 555 | drivers/net/strip.c | static void ResetRadio(struct strip *strip_info) |
strip_info | 558 | drivers/net/strip.c | strip_info->watchdog_doprobe = jiffies + 10 * HZ; |
strip_info | 559 | drivers/net/strip.c | strip_info->watchdog_doreset = jiffies + 1 * HZ; |
strip_info | 560 | drivers/net/strip.c | strip_info->tty->driver.write(strip_info->tty, 0, |
strip_info | 573 | drivers/net/strip.c | struct strip *strip_info = (struct strip *) tty->disc_data; |
strip_info | 576 | drivers/net/strip.c | if (!strip_info || strip_info->magic != STRIP_MAGIC || !strip_info->dev.start) |
strip_info | 579 | drivers/net/strip.c | if (strip_info->tx_left > 0) |
strip_info | 586 | drivers/net/strip.c | num_written = tty->driver.write(tty, 0, strip_info->tx_head, strip_info->tx_left); |
strip_info | 587 | drivers/net/strip.c | strip_info->tx_left -= num_written; |
strip_info | 588 | drivers/net/strip.c | strip_info->tx_head += num_written; |
strip_info | 594 | drivers/net/strip.c | strip_unlock(strip_info); |
strip_info | 602 | drivers/net/strip.c | static unsigned char *strip_stuff(unsigned char *ptr, struct strip *strip_info, struct sk_buff *skb) |
strip_info | 610 | drivers/net/strip.c | if (len > strip_info->mtu) { /* Sigh, shouldn't occur BUT ... */ |
strip_info | 611 | drivers/net/strip.c | printk("%s: Dropping oversized transmit packet!\n", strip_info->dev.name); |
strip_info | 612 | drivers/net/strip.c | strip_info->tx_dropped++; |
strip_info | 616 | drivers/net/strip.c | if (!arp_query(haddr.c, skb->raddr, &strip_info->dev)) { |
strip_info | 622 | drivers/net/strip.c | strip_info->dev.name, |
strip_info | 626 | drivers/net/strip.c | strip_info->tx_dropped++; |
strip_info | 656 | drivers/net/strip.c | static void strip_send(struct strip *strip_info, struct sk_buff *skb) |
strip_info | 661 | drivers/net/strip.c | if (strip_info->mtu != STRIP_ENCAP_SIZE(strip_info->dev.mtu)) |
strip_info | 662 | drivers/net/strip.c | strip_changedmtu(strip_info); |
strip_info | 664 | drivers/net/strip.c | ptr = strip_info->tx_buff; |
strip_info | 668 | drivers/net/strip.c | ptr = strip_stuff(ptr, strip_info, skb); |
strip_info | 670 | drivers/net/strip.c | if (!ptr) { strip_unlock(strip_info); return; } |
strip_info | 671 | drivers/net/strip.c | strip_info->tx_packets++; /* Count another successful packet */ |
strip_info | 675 | drivers/net/strip.c | strip_info->tx_head = strip_info->tx_buff; |
strip_info | 676 | drivers/net/strip.c | strip_info->tx_left = ptr - strip_info->tx_buff; |
strip_info | 677 | drivers/net/strip.c | strip_info->tty->flags |= (1 << TTY_DO_WRITE_WAKEUP); |
strip_info | 680 | drivers/net/strip.c | if ((long)jiffies - strip_info->watchdog_doreset >= 0) { |
strip_info | 681 | drivers/net/strip.c | printk("%s: No response: Resetting radio.\n", strip_info->dev.name); |
strip_info | 682 | drivers/net/strip.c | ResetRadio(strip_info); |
strip_info | 691 | drivers/net/strip.c | if ((long)jiffies - strip_info->watchdog_doprobe >= 0) { |
strip_info | 695 | drivers/net/strip.c | strip_info->tx_left += 2; |
strip_info | 696 | drivers/net/strip.c | strip_info->watchdog_doprobe = jiffies + 10 * HZ; |
strip_info | 697 | drivers/net/strip.c | strip_info->watchdog_doreset = jiffies + 1 * HZ; |
strip_info | 701 | drivers/net/strip.c | strip_write_some_more(strip_info->tty); |
strip_info | 707 | drivers/net/strip.c | struct strip *strip_info = (struct strip *)(dev->priv); |
strip_info | 713 | drivers/net/strip.c | if (set_bit(0, (void *) &strip_info->dev.tbusy)) return(1); |
strip_info | 714 | drivers/net/strip.c | del_timer(&strip_info->idle_timer); |
strip_info | 715 | drivers/net/strip.c | strip_send(strip_info, skb); |
strip_info | 739 | drivers/net/strip.c | static void strip_bump(struct strip *strip_info, __u16 packetlen) |
strip_info | 746 | drivers/net/strip.c | strip_info->dev.name); |
strip_info | 747 | drivers/net/strip.c | strip_info->rx_dropped++; |
strip_info | 750 | drivers/net/strip.c | skb->dev = &strip_info->dev; |
strip_info | 751 | drivers/net/strip.c | memcpy(skb_put(skb, count), strip_info->rx_buff, count); |
strip_info | 755 | drivers/net/strip.c | strip_info->rx_packets++; |
strip_info | 758 | drivers/net/strip.c | static void RecvErr(char *msg, struct strip *strip_info) |
strip_info | 761 | drivers/net/strip.c | __u8 *ptr = strip_info->sx_buff; |
strip_info | 762 | drivers/net/strip.c | __u8 *end = strip_info->sx_buff + strip_info->sx_count; |
strip_info | 788 | drivers/net/strip.c | set_bit(STR_ERROR, &strip_info->flags); |
strip_info | 789 | drivers/net/strip.c | strip_info->rx_errors++; |
strip_info | 792 | drivers/net/strip.c | static void RecvErr_Message(struct strip *strip_info, __u8 *sendername, __u8 *msg) |
strip_info | 815 | drivers/net/strip.c | strip_info->watchdog_doreset = jiffies + LONG_TIME; |
strip_info | 823 | drivers/net/strip.c | strip_info->watchdog_doreset = jiffies; /* Do reset ASAP */ |
strip_info | 828 | drivers/net/strip.c | RecvErr("Error Msg:", strip_info); |
strip_info | 831 | drivers/net/strip.c | static void process_packet(struct strip *strip_info) |
strip_info | 833 | drivers/net/strip.c | __u8 *ptr = strip_info->sx_buff; |
strip_info | 834 | drivers/net/strip.c | __u8 *end = strip_info->sx_buff + strip_info->sx_count; |
strip_info | 839 | drivers/net/strip.c | if (strip_info->sx_count == 0) return; |
strip_info | 842 | drivers/net/strip.c | if (strip_info->sx_count == 2 && ptr[0] == 'O' && ptr[1] == 'K') { |
strip_info | 844 | drivers/net/strip.c | strip_info->dev.name); |
strip_info | 845 | drivers/net/strip.c | strip_info->watchdog_doreset = jiffies; /* Do reset ASAP */ |
strip_info | 853 | drivers/net/strip.c | RecvErr_Message(strip_info, NULL, strip_info->sx_buff); |
strip_info | 854 | drivers/net/strip.c | else RecvErr("No initial *", strip_info); |
strip_info | 865 | drivers/net/strip.c | RecvErr("No second *", strip_info); |
strip_info | 875 | drivers/net/strip.c | if (ptr[0] == 'E' && ptr[1] == 'R' && ptr[2] == 'R' && ptr[3] == '_') { *name_end = 0; RecvErr_Message(strip_info, name, ptr); } |
strip_info | 876 | drivers/net/strip.c | else RecvErr("Unrecognized protocol key", strip_info); |
strip_info | 882 | drivers/net/strip.c | ptr = UnStuffData(ptr, end, strip_info->rx_buff, 4); |
strip_info | 884 | drivers/net/strip.c | RecvErr("Runt packet", strip_info); |
strip_info | 888 | drivers/net/strip.c | packetlen = ((__u16)strip_info->rx_buff[2] << 8) | strip_info->rx_buff[3]; |
strip_info | 895 | drivers/net/strip.c | ptr = UnStuffData(ptr, end, strip_info->rx_buff+4, packetlen-4); |
strip_info | 897 | drivers/net/strip.c | RecvErr("Runt packet", strip_info); |
strip_info | 900 | drivers/net/strip.c | strip_bump(strip_info, packetlen); |
strip_info | 924 | drivers/net/strip.c | struct strip *strip_info = (struct strip *) tty->disc_data; |
strip_info | 927 | drivers/net/strip.c | if (!strip_info || strip_info->magic != STRIP_MAGIC || !strip_info->dev.start) |
strip_info | 931 | drivers/net/strip.c | if (strip_info->mtu != STRIP_ENCAP_SIZE(strip_info->dev.mtu)) |
strip_info | 932 | drivers/net/strip.c | strip_changedmtu(strip_info); |
strip_info | 940 | drivers/net/strip.c | if (!set_bit(STR_ERROR, &strip_info->flags)) strip_info->rx_errors++; |
strip_info | 945 | drivers/net/strip.c | if (!clear_bit(STR_ERROR, &strip_info->flags)) |
strip_info | 946 | drivers/net/strip.c | process_packet(strip_info); |
strip_info | 947 | drivers/net/strip.c | strip_info->sx_count = 0; |
strip_info | 949 | drivers/net/strip.c | else if (!test_bit(STR_ERROR, &strip_info->flags) && |
strip_info | 950 | drivers/net/strip.c | (strip_info->sx_count > 0 || *cp != 0x0A)) |
strip_info | 953 | drivers/net/strip.c | if (strip_info->sx_count < strip_info->buffsize) |
strip_info | 954 | drivers/net/strip.c | strip_info->sx_buff[strip_info->sx_count++] = *cp; |
strip_info | 957 | drivers/net/strip.c | set_bit(STR_ERROR, &strip_info->flags); |
strip_info | 958 | drivers/net/strip.c | strip_info->rx_over_errors++; |
strip_info | 1015 | drivers/net/strip.c | struct strip *strip_info = (struct strip *)(dev->priv); |
strip_info | 1019 | drivers/net/strip.c | stats.rx_packets = strip_info->rx_packets; |
strip_info | 1020 | drivers/net/strip.c | stats.tx_packets = strip_info->tx_packets; |
strip_info | 1021 | drivers/net/strip.c | stats.rx_dropped = strip_info->rx_dropped; |
strip_info | 1022 | drivers/net/strip.c | stats.tx_dropped = strip_info->tx_dropped; |
strip_info | 1023 | drivers/net/strip.c | stats.tx_errors = strip_info->tx_errors; |
strip_info | 1024 | drivers/net/strip.c | stats.rx_errors = strip_info->rx_errors; |
strip_info | 1025 | drivers/net/strip.c | stats.rx_over_errors = strip_info->rx_over_errors; |
strip_info | 1058 | drivers/net/strip.c | struct strip *strip_info = (struct strip *)(dev->priv); |
strip_info | 1061 | drivers/net/strip.c | if (strip_info->tty == NULL) |
strip_info | 1075 | drivers/net/strip.c | strip_info->rx_buff = (unsigned char *) kmalloc(len + 4, GFP_KERNEL); |
strip_info | 1076 | drivers/net/strip.c | if (strip_info->rx_buff == NULL) |
strip_info | 1078 | drivers/net/strip.c | strip_info->sx_buff = (unsigned char *) kmalloc(len + 4, GFP_KERNEL); |
strip_info | 1079 | drivers/net/strip.c | if (strip_info->sx_buff == NULL) |
strip_info | 1081 | drivers/net/strip.c | strip_info->tx_buff = (unsigned char *) kmalloc(len + 4, GFP_KERNEL); |
strip_info | 1082 | drivers/net/strip.c | if (strip_info->tx_buff == NULL) |
strip_info | 1085 | drivers/net/strip.c | strip_info->flags &= (1 << STR_INUSE); /* Clear ESCAPE & ERROR flags */ |
strip_info | 1086 | drivers/net/strip.c | strip_info->mtu = STRIP_ENCAP_SIZE(dev->mtu); |
strip_info | 1087 | drivers/net/strip.c | strip_info->buffsize = len; |
strip_info | 1088 | drivers/net/strip.c | strip_info->sx_count = 0; |
strip_info | 1089 | drivers/net/strip.c | strip_info->tx_left = 0; |
strip_info | 1100 | drivers/net/strip.c | printk("%s: Initializing Radio.\n", strip_info->dev.name); |
strip_info | 1101 | drivers/net/strip.c | ResetRadio(strip_info); |
strip_info | 1102 | drivers/net/strip.c | strip_info->idle_timer.expires = jiffies + 2 * HZ; |
strip_info | 1103 | drivers/net/strip.c | add_timer(&strip_info->idle_timer); |
strip_info | 1107 | drivers/net/strip.c | kfree(strip_info->sx_buff); |
strip_info | 1109 | drivers/net/strip.c | kfree(strip_info->rx_buff); |
strip_info | 1121 | drivers/net/strip.c | struct strip *strip_info = (struct strip *)(dev->priv); |
strip_info | 1123 | drivers/net/strip.c | if (strip_info->tty == NULL) |
strip_info | 1125 | drivers/net/strip.c | strip_info->tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP); |
strip_info | 1132 | drivers/net/strip.c | if (strip_info->rx_buff) |
strip_info | 1134 | drivers/net/strip.c | kfree(strip_info->rx_buff); |
strip_info | 1135 | drivers/net/strip.c | strip_info->rx_buff = NULL; |
strip_info | 1137 | drivers/net/strip.c | if (strip_info->sx_buff) |
strip_info | 1139 | drivers/net/strip.c | kfree(strip_info->sx_buff); |
strip_info | 1140 | drivers/net/strip.c | strip_info->sx_buff = NULL; |
strip_info | 1142 | drivers/net/strip.c | if (strip_info->tx_buff) |
strip_info | 1144 | drivers/net/strip.c | kfree(strip_info->tx_buff); |
strip_info | 1145 | drivers/net/strip.c | strip_info->tx_buff = NULL; |
strip_info | 1147 | drivers/net/strip.c | del_timer(&strip_info->idle_timer); |
strip_info | 1215 | drivers/net/strip.c | static void strip_free(struct strip *strip_info) |
strip_info | 1217 | drivers/net/strip.c | *(strip_info->referrer) = strip_info->next; |
strip_info | 1218 | drivers/net/strip.c | if (strip_info->next) |
strip_info | 1219 | drivers/net/strip.c | strip_info->next->referrer = strip_info->referrer; |
strip_info | 1220 | drivers/net/strip.c | strip_info->magic = 0; |
strip_info | 1221 | drivers/net/strip.c | kfree(strip_info); |
strip_info | 1232 | drivers/net/strip.c | struct strip *strip_info = (struct strip *) |
strip_info | 1235 | drivers/net/strip.c | if (!strip_info) |
strip_info | 1242 | drivers/net/strip.c | memset(strip_info, 0, sizeof(struct strip)); |
strip_info | 1260 | drivers/net/strip.c | strip_info->next = *s; |
strip_info | 1262 | drivers/net/strip.c | (*s)->referrer = &strip_info->next; |
strip_info | 1263 | drivers/net/strip.c | strip_info->referrer = s; |
strip_info | 1264 | drivers/net/strip.c | *s = strip_info; |
strip_info | 1266 | drivers/net/strip.c | set_bit(STR_INUSE, &strip_info->flags); |
strip_info | 1267 | drivers/net/strip.c | strip_info->magic = STRIP_MAGIC; |
strip_info | 1268 | drivers/net/strip.c | strip_info->tty = NULL; |
strip_info | 1270 | drivers/net/strip.c | init_timer(&strip_info->idle_timer); |
strip_info | 1271 | drivers/net/strip.c | strip_info->idle_timer.data = (long)&strip_info->dev; |
strip_info | 1272 | drivers/net/strip.c | strip_info->idle_timer.function = strip_IdleTask; |
strip_info | 1274 | drivers/net/strip.c | sprintf(strip_info->if_name, "st%d", channel_id); |
strip_info | 1275 | drivers/net/strip.c | strip_info->dev.name = strip_info->if_name; |
strip_info | 1276 | drivers/net/strip.c | strip_info->dev.base_addr = channel_id; |
strip_info | 1277 | drivers/net/strip.c | strip_info->dev.priv = (void*)strip_info; |
strip_info | 1278 | drivers/net/strip.c | strip_info->dev.next = NULL; |
strip_info | 1279 | drivers/net/strip.c | strip_info->dev.init = strip_dev_init; |
strip_info | 1281 | drivers/net/strip.c | return(strip_info); |
strip_info | 1294 | drivers/net/strip.c | struct strip *strip_info = (struct strip *) tty->disc_data; |
strip_info | 1300 | drivers/net/strip.c | if (strip_info && strip_info->magic == STRIP_MAGIC) |
strip_info | 1307 | drivers/net/strip.c | if ((strip_info = strip_alloc()) == NULL) |
strip_info | 1315 | drivers/net/strip.c | if (register_netdev(&strip_info->dev) != 0) |
strip_info | 1318 | drivers/net/strip.c | strip_free(strip_info); |
strip_info | 1322 | drivers/net/strip.c | strip_info->tty = tty; |
strip_info | 1323 | drivers/net/strip.c | tty->disc_data = strip_info; |
strip_info | 1333 | drivers/net/strip.c | strip_info->dev.type = ARPHRD_METRICOM; /* dtang */ |
strip_info | 1349 | drivers/net/strip.c | return(strip_info->dev.base_addr); |
strip_info | 1360 | drivers/net/strip.c | struct strip *strip_info = (struct strip *) tty->disc_data; |
strip_info | 1366 | drivers/net/strip.c | if (!strip_info || strip_info->magic != STRIP_MAGIC) |
strip_info | 1369 | drivers/net/strip.c | dev_close(&strip_info->dev); |
strip_info | 1370 | drivers/net/strip.c | unregister_netdev(&strip_info->dev); |
strip_info | 1373 | drivers/net/strip.c | strip_info->tty = NULL; |
strip_info | 1374 | drivers/net/strip.c | strip_free(strip_info); |
strip_info | 1388 | drivers/net/strip.c | struct strip *strip_info = (struct strip *) tty->disc_data; |
strip_info | 1395 | drivers/net/strip.c | if (!strip_info || strip_info->magic != STRIP_MAGIC) |
strip_info | 1404 | drivers/net/strip.c | memcpy_tofs((void*)arg, strip_info->dev.name, |
strip_info | 1405 | drivers/net/strip.c | strlen(strip_info->dev.name) + 1); |