1053 rose_route->neigh1->use++;
1054 rose_route->neigh2->use++;
1055
1056 rose_route->next = rose_route_list;
1057 rose_route_list = rose_route;
1058
1059 skb->data[0] &= 0xF0;
1060 skb->data[0] |= (rose_route->lci2 >> 8) & 0x0F;
1061 skb->data[1] = (rose_route->lci2 >> 0) & 0xFF;
1062
1063 rose_transmit_link(skb, rose_route->neigh2);
1064 res = 1;
1065
1066out:
1067 spin_unlock_bh(&rose_route_list_lock);
1068 spin_unlock_bh(&rose_neigh_list_lock);
1069
1070 return res;
1071}
1072
1073#ifdef CONFIG_PROC_FS
1074
1075static void *rose_node_start(struct seq_file *seq, loff_t *pos)
1076 __acquires(rose_node_list_lock)
1077{
1078 struct rose_node *rose_node;
1079 int i = 1;
1080
1081 spin_lock_bh(&rose_node_list_lock);
1082 if (*pos == 0)
1083 return SEQ_START_TOKEN;
1084
1085 for (rose_node = rose_node_list; rose_node && i < *pos;
1086 rose_node = rose_node->next, ++i);
1087
1088 return (i == *pos) ? rose_node : NULL;
1089}
1090
1091static void *rose_node_next(struct seq_file *seq, void *v, loff_t *pos)
1092{
1093 ++*pos;