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

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

nl80211: don't assume wdev->netdev exists



There are a few places that iterate the wdev
list and assume wdev->netdev exists, check
there. The rfkill one has to be extended for
each non-netdev type later.

Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 72fb2abc
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -177,6 +177,8 @@ int cfg80211_switch_netns(struct cfg80211_registered_device *rdev,
		return -EOPNOTSUPP;

	list_for_each_entry(wdev, &rdev->wdev_list, list) {
		if (!wdev->netdev)
			continue;
		wdev->netdev->features &= ~NETIF_F_NETNS_LOCAL;
		err = dev_change_net_namespace(wdev->netdev, net, "wlan%d");
		if (err)
@@ -190,6 +192,8 @@ int cfg80211_switch_netns(struct cfg80211_registered_device *rdev,

		list_for_each_entry_continue_reverse(wdev, &rdev->wdev_list,
						     list) {
			if (!wdev->netdev)
				continue;
			wdev->netdev->features &= ~NETIF_F_NETNS_LOCAL;
			err = dev_change_net_namespace(wdev->netdev, net,
							"wlan%d");
@@ -227,6 +231,7 @@ static int cfg80211_rfkill_set_block(void *data, bool blocked)
	mutex_lock(&rdev->devlist_mtx);

	list_for_each_entry(wdev, &rdev->wdev_list, list)
		if (wdev->netdev)
			dev_close(wdev->netdev);

	mutex_unlock(&rdev->devlist_mtx);