diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 2d94d5a7a051fb5fb307e2e5f959444ac5eccf44..f3328bc1174f0d3d7825c17bc76e4ae9b5c0a9f2 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -492,10 +492,10 @@ static void rt6_probe(struct rt6_info *rt) struct in6_addr mcaddr; struct in6_addr *target; - neigh->updated = jiffies; - - if (neigh) + if (neigh) { + neigh->updated = jiffies; write_unlock(&neigh->lock); + } target = (struct in6_addr *)&rt->rt6i_gateway; addrconf_addr_solict_mult(target, &mcaddr);