mac820154: move mutex locks out of loop
Instead of always re-lock the iflist_mtx at multiple interfaces we lock
the complete for each loop at start and at the end.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
diff --git a/net/mac802154/iface.c b/net/mac802154/iface.c
index 8b21d20..85d2155 100644
--- a/net/mac802154/iface.c
+++ b/net/mac802154/iface.c
@@ -540,11 +540,11 @@
{
struct ieee802154_sub_if_data *sdata, *tmp;
+ mutex_lock(&local->iflist_mtx);
list_for_each_entry_safe(sdata, tmp, &local->interfaces, list) {
- mutex_lock(&sdata->local->iflist_mtx);
list_del(&sdata->list);
- mutex_unlock(&sdata->local->iflist_mtx);
unregister_netdevice(sdata->dev);
}
+ mutex_unlock(&local->iflist_mtx);
}