提交 7e8158b3 编写于 作者: S Sven Eckelmann 提交者: Greg Kroah-Hartman

Staging: batman-adv: Track references of batman_if in set_primary_if

set_primary_if exchanges the current primary interfaces with a new one.
This is a new reference and thus we have to count it and decrease the
count of the old primary interface.
Signed-off-by: NSven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 399fb5b4
......@@ -111,9 +111,17 @@ static void set_primary_if(struct bat_priv *bat_priv,
{
struct batman_packet *batman_packet;
struct vis_packet *vis_packet;
struct batman_if *old_if;
if (batman_if)
hardif_hold(batman_if);
old_if = bat_priv->primary_if;
bat_priv->primary_if = batman_if;
if (old_if)
hardif_put(old_if);
if (!bat_priv->primary_if)
return;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册