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

Commit b210b187 authored by Alexander Aring's avatar Alexander Aring Committed by Marcel Holtmann
Browse files

mac802154: move interface del handling in iface



This patch moves and rename the mac802154_del_iface function into
iface.c and rename the function to ieee802154_if_remove which is a similar
naming convention like mac80211.

Signed-off-by: default avatarAlexander Aring <alex.aring@gmail.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 9f3295b9
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -28,7 +28,9 @@ ieee802154_add_iface_deprecated(struct wpan_phy *wpan_phy,
static void ieee802154_del_iface_deprecated(struct wpan_phy *wpan_phy,
					    struct net_device *dev)
{
	mac802154_del_iface(wpan_phy, dev);
	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);

	ieee802154_if_remove(sdata);
}

const struct cfg802154_ops mac802154_config_ops = {
+1 −1
Original line number Diff line number Diff line
@@ -175,6 +175,6 @@ void mac802154_unlock_table(struct net_device *dev);

struct net_device *
mac802154_add_iface(struct wpan_phy *phy, const char *name, int type);
void mac802154_del_iface(struct wpan_phy *phy, struct net_device *dev);
void ieee802154_if_remove(struct ieee802154_sub_if_data *sdata);

#endif /* __IEEE802154_I_H */
+12 −0
Original line number Diff line number Diff line
@@ -443,3 +443,15 @@ void mac802154_monitor_setup(struct net_device *dev)

	sdata->promisuous_mode = true;
}

void ieee802154_if_remove(struct ieee802154_sub_if_data *sdata)
{
	ASSERT_RTNL();

	mutex_lock(&sdata->local->iflist_mtx);
	list_del_rcu(&sdata->list);
	mutex_unlock(&sdata->local->iflist_mtx);

	synchronize_rcu();
	unregister_netdevice(sdata->dev);
}
+0 −16
Original line number Diff line number Diff line
@@ -59,22 +59,6 @@ mac802154_netdev_register(struct wpan_phy *phy, struct net_device *dev)
	return 0;
}

void mac802154_del_iface(struct wpan_phy *phy, struct net_device *dev)
{
	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);

	ASSERT_RTNL();

	BUG_ON(sdata->local->phy != phy);

	mutex_lock(&sdata->local->iflist_mtx);
	list_del_rcu(&sdata->list);
	mutex_unlock(&sdata->local->iflist_mtx);

	synchronize_rcu();
	unregister_netdevice(sdata->dev);
}

struct net_device *
mac802154_add_iface(struct wpan_phy *phy, const char *name, int type)
{