The following commit has been merged in the master branch: commit de7607d5f8bed4143c5f1fc94ccd424e1f1875a0 Author: Antonio Quartulli ordex@autistici.org Date: Sun May 8 20:52:57 2011 +0200
batman-adv: move neigh_node->if_incoming->if_status check in find_router()
Every time that find_router() is invoked, if_status has to be compared with IF_ACTIVE. Moving this comparison inside find_router() will avoid to write it each time.
Signed-off-by: Antonio Quartulli ordex@autistici.org
diff --git a/routing.c b/routing.c index bb1c3ec..8c403ce 100644 --- a/routing.c +++ b/routing.c @@ -1240,6 +1240,9 @@ struct neigh_node *find_router(struct bat_priv *bat_priv, router = find_ifalter_router(primary_orig_node, recv_if);
return_router: + if (router && router->if_incoming->if_status != IF_ACTIVE) + goto err_unlock; + rcu_read_unlock(); return router; err_unlock: diff --git a/unicast.c b/unicast.c index 19c3daf..bab6076 100644 --- a/unicast.c +++ b/unicast.c @@ -314,9 +314,6 @@ find_router: if (!neigh_node) goto out;
- if (neigh_node->if_incoming->if_status != IF_ACTIVE) - goto out; - if (my_skb_head_push(skb, sizeof(struct unicast_packet)) < 0) goto out;