Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
[linux-2.6-microblaze.git] / net / batman-adv / bat_iv_ogm.c
index fc8be49..f94f538 100644 (file)
@@ -519,8 +519,7 @@ batadv_iv_ogm_can_aggregate(const struct batadv_ogm_packet *new_bat_ogm_packet,
        }
 
 out:
-       if (primary_if)
-               batadv_hardif_put(primary_if);
+       batadv_hardif_put(primary_if);
        return res;
 }
 
@@ -857,8 +856,7 @@ static void batadv_iv_ogm_schedule_buff(struct batadv_hard_iface *hard_iface)
        rcu_read_unlock();
 
 out:
-       if (primary_if)
-               batadv_hardif_put(primary_if);
+       batadv_hardif_put(primary_if);
 }
 
 static void batadv_iv_ogm_schedule(struct batadv_hard_iface *hard_iface)
@@ -1046,14 +1044,10 @@ batadv_iv_ogm_orig_update(struct batadv_priv *bat_priv,
 unlock:
        rcu_read_unlock();
 out:
-       if (neigh_node)
-               batadv_neigh_node_put(neigh_node);
-       if (router)
-               batadv_neigh_node_put(router);
-       if (neigh_ifinfo)
-               batadv_neigh_ifinfo_put(neigh_ifinfo);
-       if (router_ifinfo)
-               batadv_neigh_ifinfo_put(router_ifinfo);
+       batadv_neigh_node_put(neigh_node);
+       batadv_neigh_node_put(router);
+       batadv_neigh_ifinfo_put(neigh_ifinfo);
+       batadv_neigh_ifinfo_put(router_ifinfo);
 }
 
 /**
@@ -1194,8 +1188,7 @@ static bool batadv_iv_ogm_calc_tq(struct batadv_orig_node *orig_node,
                ret = true;
 
 out:
-       if (neigh_node)
-               batadv_neigh_node_put(neigh_node);
+       batadv_neigh_node_put(neigh_node);
        return ret;
 }
 
@@ -1496,16 +1489,11 @@ out_neigh:
        if (orig_neigh_node && !is_single_hop_neigh)
                batadv_orig_node_put(orig_neigh_node);
 out:
-       if (router_ifinfo)
-               batadv_neigh_ifinfo_put(router_ifinfo);
-       if (router)
-               batadv_neigh_node_put(router);
-       if (router_router)
-               batadv_neigh_node_put(router_router);
-       if (orig_neigh_router)
-               batadv_neigh_node_put(orig_neigh_router);
-       if (hardif_neigh)
-               batadv_hardif_neigh_put(hardif_neigh);
+       batadv_neigh_ifinfo_put(router_ifinfo);
+       batadv_neigh_node_put(router);
+       batadv_neigh_node_put(router_router);
+       batadv_neigh_node_put(orig_neigh_router);
+       batadv_hardif_neigh_put(hardif_neigh);
 
        consume_skb(skb_priv);
 }
@@ -1851,6 +1839,8 @@ batadv_iv_ogm_orig_dump_subentry(struct sk_buff *msg, u32 portid, u32 seq,
                    orig_node->orig) ||
            nla_put(msg, BATADV_ATTR_NEIGH_ADDRESS, ETH_ALEN,
                    neigh_node->addr) ||
+           nla_put_string(msg, BATADV_ATTR_HARD_IFNAME,
+                          neigh_node->if_incoming->net_dev->name) ||
            nla_put_u32(msg, BATADV_ATTR_HARD_IFINDEX,
                        neigh_node->if_incoming->net_dev->ifindex) ||
            nla_put_u8(msg, BATADV_ATTR_TQ, tq_avg) ||
@@ -1924,8 +1914,7 @@ batadv_iv_ogm_orig_dump_entry(struct sk_buff *msg, u32 portid, u32 seq,
        }
 
  out:
-       if (neigh_node_best)
-               batadv_neigh_node_put(neigh_node_best);
+       batadv_neigh_node_put(neigh_node_best);
 
        *sub_s = 0;
        return 0;
@@ -2047,10 +2036,8 @@ static bool batadv_iv_ogm_neigh_diff(struct batadv_neigh_node *neigh1,
        *diff = (int)tq1 - (int)tq2;
 
 out:
-       if (neigh1_ifinfo)
-               batadv_neigh_ifinfo_put(neigh1_ifinfo);
-       if (neigh2_ifinfo)
-               batadv_neigh_ifinfo_put(neigh2_ifinfo);
+       batadv_neigh_ifinfo_put(neigh1_ifinfo);
+       batadv_neigh_ifinfo_put(neigh2_ifinfo);
 
        return ret;
 }
@@ -2080,6 +2067,8 @@ batadv_iv_ogm_neigh_dump_neigh(struct sk_buff *msg, u32 portid, u32 seq,
 
        if (nla_put(msg, BATADV_ATTR_NEIGH_ADDRESS, ETH_ALEN,
                    hardif_neigh->addr) ||
+           nla_put_string(msg, BATADV_ATTR_HARD_IFNAME,
+                          hardif_neigh->if_incoming->net_dev->name) ||
            nla_put_u32(msg, BATADV_ATTR_HARD_IFINDEX,
                        hardif_neigh->if_incoming->net_dev->ifindex) ||
            nla_put_u32(msg, BATADV_ATTR_LAST_SEEN_MSECS,
@@ -2295,8 +2284,7 @@ batadv_iv_gw_get_best_gw_node(struct batadv_priv *bat_priv)
                        if (tmp_gw_factor > max_gw_factor ||
                            (tmp_gw_factor == max_gw_factor &&
                             tq_avg > max_tq)) {
-                               if (curr_gw)
-                                       batadv_gw_node_put(curr_gw);
+                               batadv_gw_node_put(curr_gw);
                                curr_gw = gw_node;
                                kref_get(&curr_gw->refcount);
                        }
@@ -2310,8 +2298,7 @@ batadv_iv_gw_get_best_gw_node(struct batadv_priv *bat_priv)
                          *     $routing_class more tq points)
                          */
                        if (tq_avg > max_tq) {
-                               if (curr_gw)
-                                       batadv_gw_node_put(curr_gw);
+                               batadv_gw_node_put(curr_gw);
                                curr_gw = gw_node;
                                kref_get(&curr_gw->refcount);
                        }
@@ -2328,8 +2315,7 @@ batadv_iv_gw_get_best_gw_node(struct batadv_priv *bat_priv)
 
 next:
                batadv_neigh_node_put(router);
-               if (router_ifinfo)
-                       batadv_neigh_ifinfo_put(router_ifinfo);
+               batadv_neigh_ifinfo_put(router_ifinfo);
        }
        rcu_read_unlock();
 
@@ -2393,14 +2379,10 @@ static bool batadv_iv_gw_is_eligible(struct batadv_priv *bat_priv,
 
        ret = true;
 out:
-       if (router_gw_ifinfo)
-               batadv_neigh_ifinfo_put(router_gw_ifinfo);
-       if (router_orig_ifinfo)
-               batadv_neigh_ifinfo_put(router_orig_ifinfo);
-       if (router_gw)
-               batadv_neigh_node_put(router_gw);
-       if (router_orig)
-               batadv_neigh_node_put(router_orig);
+       batadv_neigh_ifinfo_put(router_gw_ifinfo);
+       batadv_neigh_ifinfo_put(router_orig_ifinfo);
+       batadv_neigh_node_put(router_gw);
+       batadv_neigh_node_put(router_orig);
 
        return ret;
 }
@@ -2461,6 +2443,8 @@ static int batadv_iv_gw_dump_entry(struct sk_buff *msg, u32 portid,
                    router->addr) ||
            nla_put_string(msg, BATADV_ATTR_HARD_IFNAME,
                           router->if_incoming->net_dev->name) ||
+           nla_put_u32(msg, BATADV_ATTR_HARD_IFINDEX,
+                       router->if_incoming->net_dev->ifindex) ||
            nla_put_u32(msg, BATADV_ATTR_BANDWIDTH_DOWN,
                        gw_node->bandwidth_down) ||
            nla_put_u32(msg, BATADV_ATTR_BANDWIDTH_UP,
@@ -2473,12 +2457,9 @@ static int batadv_iv_gw_dump_entry(struct sk_buff *msg, u32 portid,
        ret = 0;
 
 out:
-       if (curr_gw)
-               batadv_gw_node_put(curr_gw);
-       if (router_ifinfo)
-               batadv_neigh_ifinfo_put(router_ifinfo);
-       if (router)
-               batadv_neigh_node_put(router);
+       batadv_gw_node_put(curr_gw);
+       batadv_neigh_ifinfo_put(router_ifinfo);
+       batadv_neigh_node_put(router);
        return ret;
 }