Commit ec8f170b authored by Johannes Berg's avatar Johannes Berg
Browse files

cfg80211: unify sending NL80211_CMD_NEW_INTERFACE



There isn't really any need for us to be sending this from
two different places - move cfg80211_init_wdev() later and
send the notification from there, removing it from the non-
netdev case.

Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 85dd3da4
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1186,6 +1186,8 @@ void cfg80211_init_wdev(struct cfg80211_registered_device *rdev,
		wdev->identifier = ++rdev->wdev_id;
	list_add_rcu(&wdev->list, &rdev->wiphy.wdev_list);
	rdev->devlist_generation++;

	nl80211_notify_iface(rdev, wdev, NL80211_CMD_NEW_INTERFACE);
}

static int cfg80211_netdev_notifier_call(struct notifier_block *nb,
@@ -1213,7 +1215,6 @@ static int cfg80211_netdev_notifier_call(struct notifier_block *nb,
		 * called within code protected by it when interfaces
		 * are added with nl80211.
		 */
		cfg80211_init_wdev(rdev, wdev);
		/* can only change netns with wiphy */
		dev->features |= NETIF_F_NETNS_LOCAL;

@@ -1242,7 +1243,7 @@ static int cfg80211_netdev_notifier_call(struct notifier_block *nb,

		INIT_WORK(&wdev->disconnect_wk, cfg80211_autodisconnect_wk);

		nl80211_notify_iface(rdev, wdev, NL80211_CMD_NEW_INTERFACE);
		cfg80211_init_wdev(rdev, wdev);
		break;
	case NETDEV_GOING_DOWN:
		cfg80211_leave(rdev, wdev);
+0 −9
Original line number Diff line number Diff line
@@ -3295,15 +3295,6 @@ static int nl80211_new_interface(struct sk_buff *skb, struct genl_info *info)
		return -ENOBUFS;
	}

	/*
	 * For wdevs which have no associated netdev object (e.g. of type
	 * NL80211_IFTYPE_P2P_DEVICE), emit the NEW_INTERFACE event here.
	 * For all other types, the event will be generated from the
	 * netdev notifier
	 */
	if (!wdev->netdev)
		nl80211_notify_iface(rdev, wdev, NL80211_CMD_NEW_INTERFACE);

	return genlmsg_reply(msg, info);
}