|
@@ -415,10 +415,12 @@ static void update_orig(struct bat_priv *bat_priv,
|
|
|
if (is_duplicate)
|
|
|
continue;
|
|
|
|
|
|
+ spin_lock_bh(&tmp_neigh_node->tq_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);
|
|
|
}
|
|
|
|
|
|
if (!neigh_node) {
|
|
@@ -443,10 +445,12 @@ static void update_orig(struct bat_priv *bat_priv,
|
|
|
orig_node->flags = batman_packet->flags;
|
|
|
neigh_node->last_valid = jiffies;
|
|
|
|
|
|
+ spin_lock_bh(&neigh_node->tq_lock);
|
|
|
ring_buffer_set(neigh_node->tq_recv,
|
|
|
&neigh_node->tq_index,
|
|
|
batman_packet->tq);
|
|
|
neigh_node->tq_avg = ring_buffer_avg(neigh_node->tq_recv);
|
|
|
+ spin_unlock_bh(&neigh_node->tq_lock);
|
|
|
|
|
|
if (!is_duplicate) {
|
|
|
orig_node->last_ttl = batman_packet->ttl;
|