{
bgp_attr_unintern(&bai->attr);
BGP_ADJ_IN_DEL(dest, bai);
+ bgp_dest_unlock_node(dest);
peer_unlock(bai->peer); /* adj_in peer reference */
XFREE(MTYPE_BGP_ADJ_IN, bai);
}
while (adj) {
adj_next = adj->next;
- if (adj->peer == peer && adj->addpath_rx_id == addpath_id) {
+ if (adj->peer == peer && adj->addpath_rx_id == addpath_id)
bgp_adj_in_remove(dest, adj);
- bgp_dest_unlock_node(dest);
- }
adj = adj_next;
}
while (ain) {
ain_next = ain->next;
- if (ain->peer == peer) {
+ if (ain->peer == peer)
bgp_adj_in_remove(dest, ain);
- bgp_dest_unlock_node(dest);
- }
ain = ain_next;
}
while (ain) {
ain_next = ain->next;
- if (ain->peer == peer) {
+ if (ain->peer == peer)
bgp_adj_in_remove(dest, ain);
- bgp_dest_unlock_node(dest);
- }
ain = ain_next;
}