|
@@ -642,7 +642,8 @@ batadv_iv_ogm_orig_update(struct batadv_priv *bat_priv,
|
|
struct batadv_neigh_node *router = NULL;
|
|
struct batadv_neigh_node *router = NULL;
|
|
struct batadv_orig_node *orig_node_tmp;
|
|
struct batadv_orig_node *orig_node_tmp;
|
|
struct hlist_node *node;
|
|
struct hlist_node *node;
|
|
- uint8_t bcast_own_sum_orig, bcast_own_sum_neigh;
|
|
|
|
|
|
+ int if_num;
|
|
|
|
+ uint8_t sum_orig, sum_neigh;
|
|
uint8_t *neigh_addr;
|
|
uint8_t *neigh_addr;
|
|
|
|
|
|
batadv_dbg(BATADV_DBG_BATMAN, bat_priv,
|
|
batadv_dbg(BATADV_DBG_BATMAN, bat_priv,
|
|
@@ -727,17 +728,17 @@ batadv_iv_ogm_orig_update(struct batadv_priv *bat_priv,
|
|
if (router && (neigh_node->tq_avg == router->tq_avg)) {
|
|
if (router && (neigh_node->tq_avg == router->tq_avg)) {
|
|
orig_node_tmp = router->orig_node;
|
|
orig_node_tmp = router->orig_node;
|
|
spin_lock_bh(&orig_node_tmp->ogm_cnt_lock);
|
|
spin_lock_bh(&orig_node_tmp->ogm_cnt_lock);
|
|
- bcast_own_sum_orig =
|
|
|
|
- orig_node_tmp->bcast_own_sum[if_incoming->if_num];
|
|
|
|
|
|
+ if_num = router->if_incoming->if_num;
|
|
|
|
+ sum_orig = orig_node_tmp->bcast_own_sum[if_num];
|
|
spin_unlock_bh(&orig_node_tmp->ogm_cnt_lock);
|
|
spin_unlock_bh(&orig_node_tmp->ogm_cnt_lock);
|
|
|
|
|
|
orig_node_tmp = neigh_node->orig_node;
|
|
orig_node_tmp = neigh_node->orig_node;
|
|
spin_lock_bh(&orig_node_tmp->ogm_cnt_lock);
|
|
spin_lock_bh(&orig_node_tmp->ogm_cnt_lock);
|
|
- bcast_own_sum_neigh =
|
|
|
|
- orig_node_tmp->bcast_own_sum[if_incoming->if_num];
|
|
|
|
|
|
+ if_num = neigh_node->if_incoming->if_num;
|
|
|
|
+ sum_neigh = orig_node_tmp->bcast_own_sum[if_num];
|
|
spin_unlock_bh(&orig_node_tmp->ogm_cnt_lock);
|
|
spin_unlock_bh(&orig_node_tmp->ogm_cnt_lock);
|
|
|
|
|
|
- if (bcast_own_sum_orig >= bcast_own_sum_neigh)
|
|
|
|
|
|
+ if (sum_orig >= sum_neigh)
|
|
goto update_tt;
|
|
goto update_tt;
|
|
}
|
|
}
|
|
|
|
|