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

Commit 466a3061 authored by Denis Kenzior's avatar Denis Kenzior Committed by Johannes Berg
Browse files

nl80211: Add SOCKET_OWNER support to START_AP

parent 188c1b3c
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -1966,6 +1966,8 @@ enum nl80211_commands {
 *	torn down when the socket is closed.
 *	torn down when the socket is closed.
 *	If set during %NL80211_CMD_JOIN_MESH the mesh setup will be
 *	If set during %NL80211_CMD_JOIN_MESH the mesh setup will be
 *	automatically torn down when the socket is closed.
 *	automatically torn down when the socket is closed.
 *	If set during %NL80211_CMD_START_AP the AP will be automatically
 *	disabled when the socket is closed.
 *
 *
 * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
 * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
 *	the TDLS link initiator.
 *	the TDLS link initiator.
+1 −0
Original line number Original line Diff line number Diff line
@@ -27,6 +27,7 @@ int __cfg80211_stop_ap(struct cfg80211_registered_device *rdev,


	err = rdev_stop_ap(rdev, dev);
	err = rdev_stop_ap(rdev, dev);
	if (!err) {
	if (!err) {
		wdev->conn_owner_nlportid = 0;
		wdev->beacon_interval = 0;
		wdev->beacon_interval = 0;
		memset(&wdev->chandef, 0, sizeof(wdev->chandef));
		memset(&wdev->chandef, 0, sizeof(wdev->chandef));
		wdev->ssid_len = 0;
		wdev->ssid_len = 0;
+3 −0
Original line number Original line Diff line number Diff line
@@ -4134,6 +4134,9 @@ static int nl80211_start_ap(struct sk_buff *skb, struct genl_info *info)
		wdev->chandef = params.chandef;
		wdev->chandef = params.chandef;
		wdev->ssid_len = params.ssid_len;
		wdev->ssid_len = params.ssid_len;
		memcpy(wdev->ssid, params.ssid, wdev->ssid_len);
		memcpy(wdev->ssid, params.ssid, wdev->ssid_len);

		if (info->attrs[NL80211_ATTR_SOCKET_OWNER])
			wdev->conn_owner_nlportid = info->snd_portid;
	}
	}
	wdev_unlock(wdev);
	wdev_unlock(wdev);