diff options
Diffstat (limited to 'net/netrom')
-rw-r--r-- | net/netrom/nr_route.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/net/netrom/nr_route.c b/net/netrom/nr_route.c index c6aa7aa03234..8f88964099ef 100644 --- a/net/netrom/nr_route.c +++ b/net/netrom/nr_route.c | |||
@@ -779,9 +779,13 @@ int nr_route_frame(struct sk_buff *skb, ax25_cb *ax25) | |||
779 | nr_src = (ax25_address *)(skb->data + 0); | 779 | nr_src = (ax25_address *)(skb->data + 0); |
780 | nr_dest = (ax25_address *)(skb->data + 7); | 780 | nr_dest = (ax25_address *)(skb->data + 7); |
781 | 781 | ||
782 | if (ax25 != NULL) | 782 | if (ax25 != NULL) { |
783 | nr_add_node(nr_src, "", &ax25->dest_addr, ax25->digipeat, | 783 | ret = nr_add_node(nr_src, "", &ax25->dest_addr, ax25->digipeat, |
784 | ax25->ax25_dev->dev, 0, sysctl_netrom_obsolescence_count_initialiser); | 784 | ax25->ax25_dev->dev, 0, |
785 | sysctl_netrom_obsolescence_count_initialiser); | ||
786 | if (ret) | ||
787 | return ret; | ||
788 | } | ||
785 | 789 | ||
786 | if ((dev = nr_dev_get(nr_dest)) != NULL) { /* Its for me */ | 790 | if ((dev = nr_dev_get(nr_dest)) != NULL) { /* Its for me */ |
787 | if (ax25 == NULL) /* Its from me */ | 791 | if (ax25 == NULL) /* Its from me */ |
@@ -846,6 +850,7 @@ int nr_route_frame(struct sk_buff *skb, ax25_cb *ax25) | |||
846 | ret = (nr_neigh->ax25 != NULL); | 850 | ret = (nr_neigh->ax25 != NULL); |
847 | nr_node_unlock(nr_node); | 851 | nr_node_unlock(nr_node); |
848 | nr_node_put(nr_node); | 852 | nr_node_put(nr_node); |
853 | |||
849 | return ret; | 854 | return ret; |
850 | } | 855 | } |
851 | 856 | ||