aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/rocker/rocker.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/rocker/rocker.c')
-rw-r--r--drivers/net/ethernet/rocker/rocker.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/ethernet/rocker/rocker.c b/drivers/net/ethernet/rocker/rocker.c
index ec251531bd9f..cf98cc9bbc8d 100644
--- a/drivers/net/ethernet/rocker/rocker.c
+++ b/drivers/net/ethernet/rocker/rocker.c
@@ -2921,10 +2921,11 @@ static int rocker_port_ipv4_resolve(struct rocker_port *rocker_port,
2921 struct neighbour *n = __ipv4_neigh_lookup(dev, (__force u32)ip_addr); 2921 struct neighbour *n = __ipv4_neigh_lookup(dev, (__force u32)ip_addr);
2922 int err = 0; 2922 int err = 0;
2923 2923
2924 if (!n) 2924 if (!n) {
2925 n = neigh_create(&arp_tbl, &ip_addr, dev); 2925 n = neigh_create(&arp_tbl, &ip_addr, dev);
2926 if (!n) 2926 if (IS_ERR(n))
2927 return -ENOMEM; 2927 return IS_ERR(n);
2928 }
2928 2929
2929 /* If the neigh is already resolved, then go ahead and 2930 /* If the neigh is already resolved, then go ahead and
2930 * install the entry, otherwise start the ARP process to 2931 * install the entry, otherwise start the ARP process to
@@ -2936,6 +2937,7 @@ static int rocker_port_ipv4_resolve(struct rocker_port *rocker_port,
2936 else 2937 else
2937 neigh_event_send(n, NULL); 2938 neigh_event_send(n, NULL);
2938 2939
2940 neigh_release(n);
2939 return err; 2941 return err;
2940} 2942}
2941 2943