diff options
Diffstat (limited to 'drivers/infiniband/hw/nes/nes_cm.c')
| -rw-r--r-- | drivers/infiniband/hw/nes/nes_cm.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/nes/nes_cm.c b/drivers/infiniband/hw/nes/nes_cm.c index dfce9ea98a3..0a52d72371e 100644 --- a/drivers/infiniband/hw/nes/nes_cm.c +++ b/drivers/infiniband/hw/nes/nes_cm.c @@ -1377,9 +1377,11 @@ static int nes_addr_resolve_neigh(struct nes_vnic *nesvnic, u32 dst_ip, int arpi  		neigh_release(neigh);  	} -	if ((neigh == NULL) || (!(neigh->nud_state & NUD_VALID))) +	if ((neigh == NULL) || (!(neigh->nud_state & NUD_VALID))) { +		rcu_read_lock();  		neigh_event_send(dst_get_neighbour(&rt->dst), NULL); - +		rcu_read_unlock(); +	}  	ip_rt_put(rt);  	return rc;  }  |