The counter doesn't need to be global.

Signed-off-by: Matthias Schiffer <[email protected]>
---
 net/batman-adv/hard-interface.c | 4 ++--
 net/batman-adv/main.c           | 1 -
 net/batman-adv/main.h           | 2 --
 net/batman-adv/netlink.c        | 2 +-
 net/batman-adv/types.h          | 3 +++
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/net/batman-adv/hard-interface.c b/net/batman-adv/hard-interface.c
index 5b46104dcf61..90968abefba0 100644
--- a/net/batman-adv/hard-interface.c
+++ b/net/batman-adv/hard-interface.c
@@ -748,7 +748,7 @@ int batadv_hardif_enable_interface(struct net_device 
*net_dev,
        hard_iface->mesh_iface = mesh_iface;
        bat_priv = netdev_priv(hard_iface->mesh_iface);
 
-       batadv_hardif_generation++;
+       bat_priv->hardif_generation++;
        ret = netdev_master_upper_dev_link(hard_iface->net_dev,
                                           mesh_iface, hard_iface, NULL, NULL);
        if (ret)
@@ -869,7 +869,7 @@ void batadv_hardif_disable_interface(struct 
batadv_hard_iface *hard_iface)
        batadv_purge_outstanding_packets(bat_priv, hard_iface);
        netdev_put(hard_iface->mesh_iface, &hard_iface->meshif_dev_tracker);
 
-       batadv_hardif_generation++;
+       bat_priv->hardif_generation++;
        netdev_upper_dev_unlink(hard_iface->net_dev, hard_iface->mesh_iface);
        batadv_hardif_recalc_extra_skbroom(hard_iface->mesh_iface);
 
diff --git a/net/batman-adv/main.c b/net/batman-adv/main.c
index 8e8ea93cf61d..f3d82d567968 100644
--- a/net/batman-adv/main.c
+++ b/net/batman-adv/main.c
@@ -61,7 +61,6 @@
 #include "tp_meter.h"
 #include "translation-table.h"
 
-unsigned int batadv_hardif_generation;
 static int (*batadv_rx_handler[256])(struct sk_buff *skb,
                                     struct batadv_hard_iface *recv_if);
 
diff --git a/net/batman-adv/main.h b/net/batman-adv/main.h
index debc55922fe1..365d92d04c85 100644
--- a/net/batman-adv/main.h
+++ b/net/batman-adv/main.h
@@ -232,8 +232,6 @@ static inline int batadv_print_vid(unsigned short vid)
                return -1;
 }
 
-extern unsigned int batadv_hardif_generation;
-
 extern struct workqueue_struct *batadv_event_workqueue;
 
 int batadv_mesh_init(struct net_device *mesh_iface);
diff --git a/net/batman-adv/netlink.c b/net/batman-adv/netlink.c
index 41c1e7e0cf0d..23a626c63d40 100644
--- a/net/batman-adv/netlink.c
+++ b/net/batman-adv/netlink.c
@@ -978,7 +978,7 @@ batadv_netlink_dump_hardif(struct sk_buff *msg, struct 
netlink_callback *cb)
        bat_priv = netdev_priv(mesh_iface);
 
        rtnl_lock();
-       cb->seq = batadv_hardif_generation << 1 | 1;
+       cb->seq = bat_priv->hardif_generation << 1 | 1;
 
        netdev_for_each_lower_private(mesh_iface, hard_iface, iter) {
                if (i++ < skip)
diff --git a/net/batman-adv/types.h b/net/batman-adv/types.h
index fc84c2a80020..f490fe436458 100644
--- a/net/batman-adv/types.h
+++ b/net/batman-adv/types.h
@@ -1727,6 +1727,9 @@ struct batadv_priv {
        /** @tp_num: number of currently active tp sessions */
        atomic_t tp_num;
 
+       /** @hardif_generation: generation counter added to netlink hardif 
dumps */
+       unsigned int hardif_generation;
+
        /** @orig_work: work queue callback item for orig node purging */
        struct delayed_work orig_work;
 
-- 
2.49.0

Reply via email to