diff options
Diffstat (limited to 'drivers/infiniband/hw/nes')
-rw-r--r-- | drivers/infiniband/hw/nes/nes_cm.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/infiniband/hw/nes/nes_cm.c b/drivers/infiniband/hw/nes/nes_cm.c index e74cdf9ef47..a1f74f6381b 100644 --- a/drivers/infiniband/hw/nes/nes_cm.c +++ b/drivers/infiniband/hw/nes/nes_cm.c | |||
@@ -1150,9 +1150,11 @@ static int nes_addr_resolve_neigh(struct nes_vnic *nesvnic, u32 dst_ip, int arpi | |||
1150 | neigh_release(neigh); | 1150 | neigh_release(neigh); |
1151 | } | 1151 | } |
1152 | 1152 | ||
1153 | if ((neigh == NULL) || (!(neigh->nud_state & NUD_VALID))) | 1153 | if ((neigh == NULL) || (!(neigh->nud_state & NUD_VALID))) { |
1154 | neigh_event_send(rt->dst.neighbour, NULL); | 1154 | rcu_read_lock(); |
1155 | 1155 | neigh_event_send(dst_get_neighbour(&rt->dst), NULL); | |
1156 | rcu_read_unlock(); | ||
1157 | } | ||
1156 | ip_rt_put(rt); | 1158 | ip_rt_put(rt); |
1157 | return rc; | 1159 | return rc; |
1158 | } | 1160 | } |