summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2007-09-28 14:01:25 +0200
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 16:54:15 -0700
commita28975525016ddcbdaab8225666df1cf2dc9cb2d (patch)
tree5043b4c24c3c6c40d3d844259e2c47421204436d /net
parentf7c4daed99fba15e4e48df464031f4ac7c32e4c9 (diff)
downloadkernel-crypto-a28975525016ddcbdaab8225666df1cf2dc9cb2d.tar.gz
kernel-crypto-a28975525016ddcbdaab8225666df1cf2dc9cb2d.tar.xz
kernel-crypto-a28975525016ddcbdaab8225666df1cf2dc9cb2d.zip
[MAC80211]: add "invalid" interface type
Since I cannot convince the lazy driver authors (hello Michael) to stop (ab)using the MGMT interface type internally in their drivers, this patch introduces a new _INVALID type especially for their use and changes all affected drivers to use it. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/ieee80211.c4
-rw-r--r--net/mac80211/ieee80211_iface.c4
-rw-r--r--net/mac80211/rx.c1
3 files changed, 9 insertions, 0 deletions
diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c
index 62877a8f9f0..373e8b72878 100644
--- a/net/mac80211/ieee80211.c
+++ b/net/mac80211/ieee80211.c
@@ -351,6 +351,10 @@ static int ieee80211_open(struct net_device *dev)
case IEEE80211_IF_TYPE_IBSS:
/* no special treatment */
break;
+ case IEEE80211_IF_TYPE_INVALID:
+ /* cannot happen */
+ WARN_ON(1);
+ break;
}
if (local->open_count == 0) {
diff --git a/net/mac80211/ieee80211_iface.c b/net/mac80211/ieee80211_iface.c
index 08c1e188d4b..ef618e947e2 100644
--- a/net/mac80211/ieee80211_iface.c
+++ b/net/mac80211/ieee80211_iface.c
@@ -243,6 +243,10 @@ void ieee80211_if_reinit(struct net_device *dev)
ieee80211_if_sdata_deinit(sdata);
switch (sdata->type) {
+ case IEEE80211_IF_TYPE_INVALID:
+ /* cannot happen */
+ WARN_ON(1);
+ break;
case IEEE80211_IF_TYPE_MGMT:
/* nothing to do */
break;
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 03635fb3e9b..b4a62fe3ccb 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -1453,6 +1453,7 @@ static int prepare_for_handlers(struct ieee80211_sub_if_data *sdata,
case IEEE80211_IF_TYPE_MNTR:
/* take everything */
break;
+ case IEEE80211_IF_TYPE_INVALID:
case IEEE80211_IF_TYPE_MGMT:
/* should never get here */
WARN_ON(1);