Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 256158
b: refs/heads/master
c: 980d55b
h: refs/heads/master
v: v3
  • Loading branch information
Antonio Quartulli authored and Marek Lindner committed Jul 7, 2011
1 parent afaec93 commit fe8829d
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 058d0e26989e3da2fa031f551235f6ff1e0bc27c
refs/heads/master: 980d55b20a730cbabc74cdc57be9c47713dba57b
10 changes: 8 additions & 2 deletions trunk/net/batman-adv/translation-table.c
Original file line number Diff line number Diff line change
Expand Up @@ -230,8 +230,9 @@ void tt_local_add(struct net_device *soft_iface, const uint8_t *addr)
if (tt_global_entry) {
/* This node is probably going to update its tt table */
tt_global_entry->orig_node->tt_poss_change = true;
_tt_global_del(bat_priv, tt_global_entry,
"local tt received");
/* The global entry has to be marked as PENDING and has to be
* kept for consistency purpose */
tt_global_entry->flags |= TT_CLIENT_PENDING;
send_roam_adv(bat_priv, tt_global_entry->addr,
tt_global_entry->orig_node);
}
Expand Down Expand Up @@ -787,6 +788,11 @@ struct orig_node *transtable_search(struct bat_priv *bat_priv,
if (!atomic_inc_not_zero(&tt_global_entry->orig_node->refcount))
goto free_tt;

/* A global client marked as PENDING has already moved from that
* originator */
if (tt_global_entry->flags & TT_CLIENT_PENDING)
goto free_tt;

orig_node = tt_global_entry->orig_node;

free_tt:
Expand Down

0 comments on commit fe8829d

Please sign in to comment.