linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] nl80211: prevent additions to old station flags API
@ 2012-05-10 18:14 Johannes Berg
  0 siblings, 0 replies; only message in thread
From: Johannes Berg @ 2012-05-10 18:14 UTC (permalink / raw)
  To: John Linville; +Cc: linux-wireless

From: Johannes Berg <johannes.berg@intel.com>

We don't really want/need to maintain the old
station flags API any more, so refuse changes
to new (not yet defined) flags from the old
flags API.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
---
 include/linux/nl80211.h |    2 ++
 net/wireless/nl80211.c  |   10 ++++++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

--- a/include/linux/nl80211.h	2012-05-08 13:02:00.000000000 +0200
+++ b/include/linux/nl80211.h	2012-05-08 20:37:33.000000000 +0200
@@ -1594,6 +1594,8 @@ enum nl80211_sta_flags {
 	NL80211_STA_FLAG_MAX = __NL80211_STA_FLAG_AFTER_LAST - 1
 };
 
+#define NL80211_STA_FLAG_MAX_OLD_API	NL80211_STA_FLAG_TDLS_PEER
+
 /**
  * struct nl80211_sta_flag_update - station flags mask/set
  * @mask: mask of station flags to set
--- a/net/wireless/nl80211.c	2012-05-08 13:02:00.000000000 +0200
+++ b/net/wireless/nl80211.c	2012-05-08 20:37:33.000000000 +0200
@@ -2370,10 +2370,16 @@ static int parse_station_flags(struct ge
 		return -EINVAL;
 	}
 
-	for (flag = 1; flag <= NL80211_STA_FLAG_MAX; flag++)
-		if (flags[flag])
+	for (flag = 1; flag <= NL80211_STA_FLAG_MAX; flag++) {
+		if (flags[flag]) {
 			params->sta_flags_set |= (1<<flag);
 
+			/* no longer support new API additions in old API */
+			if (flag > NL80211_STA_FLAG_MAX_OLD_API)
+				return -EINVAL;
+		}
+	}
+
 	return 0;
 }
 



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2012-05-10 18:14 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-10 18:14 [PATCH] nl80211: prevent additions to old station flags API Johannes Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).