batman-adv: prepare lq_update_lock to be shared among different protocols
authorMarek Lindner <lindner_marek@yahoo.de>
Sat, 17 Mar 2012 07:28:32 +0000 (15:28 +0800)
committerAntonio Quartulli <ordex@autistici.org>
Sun, 13 May 2012 17:06:39 +0000 (19:06 +0200)
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
net/batman-adv/bat_iv_ogm.c
net/batman-adv/originator.c
net/batman-adv/types.h

index abd10c490fd95ee1b0b5bf75359ddf03dee4c272..dc53798ebb47aef0c104cd014be4b3a590a622c2 100644 (file)
@@ -43,7 +43,6 @@ static struct neigh_node *bat_iv_ogm_neigh_new(struct hard_iface *hard_iface,
                goto out;
 
        INIT_LIST_HEAD(&neigh_node->bonding_list);
-       spin_lock_init(&neigh_node->tq_lock);
 
        neigh_node->orig_node = orig_neigh;
        neigh_node->if_incoming = hard_iface;
@@ -637,12 +636,12 @@ static void bat_iv_ogm_orig_update(struct bat_priv *bat_priv,
                if (is_duplicate)
                        continue;
 
-               spin_lock_bh(&tmp_neigh_node->tq_lock);
+               spin_lock_bh(&tmp_neigh_node->lq_update_lock);
                ring_buffer_set(tmp_neigh_node->tq_recv,
                                &tmp_neigh_node->tq_index, 0);
                tmp_neigh_node->tq_avg =
                        ring_buffer_avg(tmp_neigh_node->tq_recv);
-               spin_unlock_bh(&tmp_neigh_node->tq_lock);
+               spin_unlock_bh(&tmp_neigh_node->lq_update_lock);
        }
 
        if (!neigh_node) {
@@ -668,12 +667,12 @@ static void bat_iv_ogm_orig_update(struct bat_priv *bat_priv,
        orig_node->flags = batman_ogm_packet->flags;
        neigh_node->last_seen = jiffies;
 
-       spin_lock_bh(&neigh_node->tq_lock);
+       spin_lock_bh(&neigh_node->lq_update_lock);
        ring_buffer_set(neigh_node->tq_recv,
                        &neigh_node->tq_index,
                        batman_ogm_packet->tq);
        neigh_node->tq_avg = ring_buffer_avg(neigh_node->tq_recv);
-       spin_unlock_bh(&neigh_node->tq_lock);
+       spin_unlock_bh(&neigh_node->lq_update_lock);
 
        if (!is_duplicate) {
                orig_node->last_ttl = batman_ogm_packet->header.ttl;
index f4b62011ca3f45b252aafe789b4142d66e61a8ed..41147942ba5341e7afafadf2b012175e6016c010 100644 (file)
@@ -99,6 +99,7 @@ struct neigh_node *batadv_neigh_node_new(struct hard_iface *hard_iface,
        INIT_HLIST_NODE(&neigh_node->list);
 
        memcpy(neigh_node->addr, neigh_addr, ETH_ALEN);
+       spin_lock_init(&neigh_node->lq_update_lock);
 
        /* extra reference for return */
        atomic_set(&neigh_node->refcount, 2);
index 66a3750aa9e700a9aca8c131eafb60046a2f52c6..61308e8016ff85d201d68143d7760ae3c4437294 100644 (file)
@@ -137,7 +137,7 @@ struct neigh_node {
        struct rcu_head rcu;
        struct orig_node *orig_node;
        struct hard_iface *if_incoming;
-       spinlock_t tq_lock;     /* protects: tq_recv, tq_index */
+       spinlock_t lq_update_lock;      /* protects: tq_recv, tq_index */
 };
 
 #ifdef CONFIG_BATMAN_ADV_BLA