Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 06ba7ce2 authored by Simon Wunderlich's avatar Simon Wunderlich Committed by Sven Eckelmann
Browse files

batman-adv: use unregister_netdevice() when softif_create fails



When entering softif_create(), the rtnl lock has already been acquired
by store_mesh_iface().
(store_mesh_iface() -> hardif_enable_interface() -> softif_create)

In case of an error, we should therefore call unregister_netdevice()
instead of unregister_netdev().

unregister_netdev() tries to acquire the rtnl lock itself and deadlocks
in this situation. unregister_netdevice() assumes that the rtnl lock
is already been held.

Signed-off-by: default avatarSimon Wunderlich <siwu@hrz.tu-chemnitz.de>
Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
parent 80b3f58c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -874,7 +874,7 @@ struct net_device *softif_create(const char *name)
unreg_sysfs:
	sysfs_del_meshif(soft_iface);
unreg_soft_iface:
	unregister_netdev(soft_iface);
	unregister_netdevice(soft_iface);
	return NULL;

free_soft_iface: