diff options
Diffstat (limited to 'net/batman-adv/hard-interface.c')
-rw-r--r-- | net/batman-adv/hard-interface.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/batman-adv/hard-interface.c b/net/batman-adv/hard-interface.c index 781c5b6e6e8e..508f4416dfc9 100644 --- a/net/batman-adv/hard-interface.c +++ b/net/batman-adv/hard-interface.c | |||
@@ -951,6 +951,7 @@ batadv_hardif_add_interface(struct net_device *net_dev) | |||
951 | batadv_check_known_mac_addr(hard_iface->net_dev); | 951 | batadv_check_known_mac_addr(hard_iface->net_dev); |
952 | kref_get(&hard_iface->refcount); | 952 | kref_get(&hard_iface->refcount); |
953 | list_add_tail_rcu(&hard_iface->list, &batadv_hardif_list); | 953 | list_add_tail_rcu(&hard_iface->list, &batadv_hardif_list); |
954 | batadv_hardif_generation++; | ||
954 | 955 | ||
955 | return hard_iface; | 956 | return hard_iface; |
956 | 957 | ||
@@ -993,6 +994,7 @@ void batadv_hardif_remove_interfaces(void) | |||
993 | list_for_each_entry_safe(hard_iface, hard_iface_tmp, | 994 | list_for_each_entry_safe(hard_iface, hard_iface_tmp, |
994 | &batadv_hardif_list, list) { | 995 | &batadv_hardif_list, list) { |
995 | list_del_rcu(&hard_iface->list); | 996 | list_del_rcu(&hard_iface->list); |
997 | batadv_hardif_generation++; | ||
996 | batadv_hardif_remove_interface(hard_iface); | 998 | batadv_hardif_remove_interface(hard_iface); |
997 | } | 999 | } |
998 | rtnl_unlock(); | 1000 | rtnl_unlock(); |
@@ -1054,6 +1056,7 @@ static int batadv_hard_if_event(struct notifier_block *this, | |||
1054 | case NETDEV_UNREGISTER: | 1056 | case NETDEV_UNREGISTER: |
1055 | case NETDEV_PRE_TYPE_CHANGE: | 1057 | case NETDEV_PRE_TYPE_CHANGE: |
1056 | list_del_rcu(&hard_iface->list); | 1058 | list_del_rcu(&hard_iface->list); |
1059 | batadv_hardif_generation++; | ||
1057 | 1060 | ||
1058 | batadv_hardif_remove_interface(hard_iface); | 1061 | batadv_hardif_remove_interface(hard_iface); |
1059 | break; | 1062 | break; |