summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_lsdb.c
diff options
context:
space:
mode:
Diffstat (limited to 'ospf6d/ospf6_lsdb.c')
-rw-r--r--ospf6d/ospf6_lsdb.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/ospf6d/ospf6_lsdb.c b/ospf6d/ospf6_lsdb.c
index 7925a8b2f4..c9cbdf8e92 100644
--- a/ospf6d/ospf6_lsdb.c
+++ b/ospf6d/ospf6_lsdb.c
@@ -139,7 +139,7 @@ void ospf6_lsdb_add(struct ospf6_lsa *lsa, struct ospf6_lsdb *lsdb)
}
/* to free the lookup lock in node get*/
route_unlock_node(current);
- ospf6_lsa_unlock(old);
+ ospf6_lsa_unlock(&old);
}
ospf6_lsdb_count_assert(lsdb);
@@ -168,7 +168,7 @@ void ospf6_lsdb_remove(struct ospf6_lsa *lsa, struct ospf6_lsdb *lsdb)
route_unlock_node(node); /* to free the lookup lock */
route_unlock_node(node); /* to free the original lock */
- ospf6_lsa_unlock(lsa);
+ ospf6_lsa_unlock(&lsa);
ospf6_lsdb_count_assert(lsdb);
}
@@ -236,8 +236,10 @@ struct ospf6_lsa *ospf6_find_inter_prefix_lsa(struct ospf6 *ospf6,
prefix.prefixlen = prefix_lsa->prefix.prefix_length;
ospf6_prefix_in6_addr(&prefix.u.prefix6, prefix_lsa,
&prefix_lsa->prefix);
- if (prefix_same(p, &prefix))
+ if (prefix_same(p, &prefix)) {
+ ospf6_lsa_unlock(&lsa);
return lsa;
+ }
}
return NULL;
@@ -326,7 +328,7 @@ struct ospf6_lsa *ospf6_lsdb_next(const struct route_node *iterend,
{
struct route_node *node = lsa->rn;
- ospf6_lsa_unlock(lsa);
+ ospf6_lsa_unlock(&lsa);
do
node = route_next_until(node, iterend);
@@ -359,7 +361,7 @@ void ospf6_lsdb_lsa_unlock(struct ospf6_lsa *lsa)
if (lsa != NULL) {
if (lsa->rn != NULL)
route_unlock_node(lsa->rn);
- ospf6_lsa_unlock(lsa);
+ ospf6_lsa_unlock(&lsa);
}
}
@@ -396,7 +398,7 @@ int ospf6_lsdb_maxage_remover(struct ospf6_lsdb *lsdb)
ospf6_lsa_checksum(lsa->header);
EVENT_OFF(lsa->refresh);
- event_execute(master, ospf6_lsa_refresh, lsa, 0);
+ event_execute(master, ospf6_lsa_refresh, lsa, 0, NULL);
} else {
zlog_debug("calling ospf6_lsdb_remove %s", lsa->name);
ospf6_lsdb_remove(lsa, lsdb);