diff options
author | Antonio Quartulli <ordex@autistici.org> | 2012-06-25 20:49:51 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-06-25 23:54:32 -0700 |
commit | 29cb99de4dafc53f75389bbe0173af4385a2ed1d (patch) | |
tree | 75b72390d597e9da159e4f9cd94b90a560e0854e /net/batman-adv | |
parent | 1f129fefd35842bcd450db02b6c63f958384b1b3 (diff) | |
download | op-kernel-dev-29cb99de4dafc53f75389bbe0173af4385a2ed1d.zip op-kernel-dev-29cb99de4dafc53f75389bbe0173af4385a2ed1d.tar.gz |
batman-adv: fix global TT entry deletion
During the last merge involving translation-table.c something went wrong and two
lines disappeared from translation-table.c. This patch recovers them.
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/batman-adv')
-rw-r--r-- | net/batman-adv/translation-table.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c index e4f27a8..c673b58 100644 --- a/net/batman-adv/translation-table.c +++ b/net/batman-adv/translation-table.c @@ -149,6 +149,8 @@ static void batadv_tt_orig_list_entry_free_rcu(struct rcu_head *rcu) static void batadv_tt_orig_list_entry_free_ref(struct tt_orig_list_entry *orig_entry) { + /* to avoid race conditions, immediately decrease the tt counter */ + atomic_dec(&orig_entry->orig_node->tt_size); call_rcu(&orig_entry->rcu, batadv_tt_orig_list_entry_free_rcu); } |