summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntonio Quartulli <ordex@autistici.org>2012-01-16 00:36:58 +0100
committerAntonio Quartulli <ordex@autistici.org>2012-05-14 09:05:08 +0200
commit521251f2f5fa16747cc21e71580e404af855d140 (patch)
tree9f81af835730d367a7d26bbda06ebc47e5ff9515
parenta77e8c61dbe9c6abb7072c02f41271a489370f0c (diff)
downloadlinux-stable-521251f2f5fa16747cc21e71580e404af855d140.tar.gz
linux-stable-521251f2f5fa16747cc21e71580e404af855d140.tar.bz2
linux-stable-521251f2f5fa16747cc21e71580e404af855d140.zip
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>
-rw-r--r--net/batman-adv/translation-table.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index b3fb597c79b5..a66c2dcd1088 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -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;
}