batman-adv: drop unneeded goto and initialization from batadv_hardif_disable_interface()

The only use of the label was too early for primary_if to be set
anyways.

Also move the put of primary_if further up to hold the reference only as
long as necessary, hopefully avoiding the need to re-introduce the goto
label with future code changes.

Signed-off-by: Nora Schiffer <neocturne@universe-factory.net>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
This commit is contained in:
Nora Schiffer 2026-06-28 17:07:33 +02:00 committed by Sven Eckelmann
parent cbda6a6cf2
commit 2b429dbc50
No known key found for this signature in database
GPG Key ID: 4D0F772BD314F5CB

View File

@ -835,14 +835,14 @@ int batadv_hardif_enable_interface(struct net_device *net_dev,
void batadv_hardif_disable_interface(struct batadv_hard_iface *hard_iface)
{
struct batadv_priv *bat_priv = netdev_priv(hard_iface->mesh_iface);
struct batadv_hard_iface *primary_if = NULL;
struct batadv_hard_iface *primary_if;
ASSERT_RTNL();
batadv_hardif_deactivate_interface(hard_iface);
if (hard_iface->if_status != BATADV_IF_INACTIVE)
goto out;
return;
batadv_info(hard_iface->mesh_iface, "Removing interface: %s\n",
hard_iface->net_dev->name);
@ -857,6 +857,7 @@ void batadv_hardif_disable_interface(struct batadv_hard_iface *hard_iface)
batadv_hardif_put(new_if);
}
batadv_hardif_put(primary_if);
bat_priv->algo_ops->iface.disable(hard_iface);
hard_iface->if_status = BATADV_IF_TO_BE_REMOVED;
@ -874,9 +875,6 @@ void batadv_hardif_disable_interface(struct batadv_hard_iface *hard_iface)
batadv_gw_check_client_stop(bat_priv);
batadv_hardif_put(hard_iface);
out:
batadv_hardif_put(primary_if);
}
/**