batman-adv: unset the TT_CLIENT_PENDING flag if the new local entry already exists

When trying to add a new tt_local_entry, if such entry already exists, we have
to ensure that the TT_CLIENT_PENDING flag is not set, otherwise the entry will
be deleted soon.

Reported-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
This commit is contained in:
Antonio Quartulli 2012-01-16 00:36:58 +01:00
parent a77e8c61db
commit 521251f2f5
1 changed files with 2 additions and 0 deletions

View File

@ -206,6 +206,8 @@ void tt_local_add(struct net_device *soft_iface, const uint8_t *addr,
if (tt_local_entry) {
tt_local_entry->last_seen = jiffies;
/* possibly unset the TT_CLIENT_PENDING flag */
tt_local_entry->common.flags &= ~TT_CLIENT_PENDING;
goto out;
}