mirror of https://gitee.com/openkylin/linux.git
batman-adv: Increase hard_iface refcnt for ptype
The hard_iface is referenced in the packet_type for batman-adv. Increase the refcounter of the hard_interface for it to have an explicit reference for it in case this functionality gets refactorted and the currently used implicit reference for it will be removed. Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <a@unstable.cc>
This commit is contained in:
parent
4fe56e60ac
commit
d7d6de9530
|
@ -522,6 +522,7 @@ int batadv_hardif_enable_interface(struct batadv_hard_iface *hard_iface,
|
|||
goto err_upper;
|
||||
}
|
||||
|
||||
kref_get(&hard_iface->refcount);
|
||||
hard_iface->batman_adv_ptype.type = ethertype;
|
||||
hard_iface->batman_adv_ptype.func = batadv_batman_skb_recv;
|
||||
hard_iface->batman_adv_ptype.dev = hard_iface->net_dev;
|
||||
|
@ -583,6 +584,7 @@ void batadv_hardif_disable_interface(struct batadv_hard_iface *hard_iface,
|
|||
batadv_info(hard_iface->soft_iface, "Removing interface: %s\n",
|
||||
hard_iface->net_dev->name);
|
||||
dev_remove_pack(&hard_iface->batman_adv_ptype);
|
||||
batadv_hardif_put(hard_iface);
|
||||
|
||||
bat_priv->num_ifaces--;
|
||||
batadv_orig_hash_del_if(hard_iface, bat_priv->num_ifaces);
|
||||
|
|
Loading…
Reference in New Issue