aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless/nl80211.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2010-09-30 15:06:09 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-10-05 13:35:23 -0400
commit663fcafd977f13e6483f7d4cf2ccdbc4fae81ed0 (patch)
treeb1c74fe389dff24d94c95eaeb3a52932f6671007 /net/wireless/nl80211.c
parent4bd530f3ab51c7d656bca29d927a50e5aa87175e (diff)
cfg80211/mac80211: allow management frame TX in AP mode
Enable management frame transmission and subscribing to management frames through nl80211 in both cfg80211 and mac80211. Also update a few places that I forgot to update for P2P-client mode previously, and fix a small bug with non-action frames in this API. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/nl80211.c')
-rw-r--r--net/wireless/nl80211.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 0087c4323c53..cbbbe9ab452f 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -4828,7 +4828,10 @@ static int nl80211_register_mgmt(struct sk_buff *skb, struct genl_info *info)
4828 4828
4829 if (dev->ieee80211_ptr->iftype != NL80211_IFTYPE_STATION && 4829 if (dev->ieee80211_ptr->iftype != NL80211_IFTYPE_STATION &&
4830 dev->ieee80211_ptr->iftype != NL80211_IFTYPE_ADHOC && 4830 dev->ieee80211_ptr->iftype != NL80211_IFTYPE_ADHOC &&
4831 dev->ieee80211_ptr->iftype != NL80211_IFTYPE_P2P_CLIENT) { 4831 dev->ieee80211_ptr->iftype != NL80211_IFTYPE_P2P_CLIENT &&
4832 dev->ieee80211_ptr->iftype != NL80211_IFTYPE_AP &&
4833 dev->ieee80211_ptr->iftype != NL80211_IFTYPE_AP_VLAN &&
4834 dev->ieee80211_ptr->iftype != NL80211_IFTYPE_P2P_GO) {
4832 err = -EOPNOTSUPP; 4835 err = -EOPNOTSUPP;
4833 goto out; 4836 goto out;
4834 } 4837 }
@@ -4881,7 +4884,10 @@ static int nl80211_tx_mgmt(struct sk_buff *skb, struct genl_info *info)
4881 4884
4882 if (dev->ieee80211_ptr->iftype != NL80211_IFTYPE_STATION && 4885 if (dev->ieee80211_ptr->iftype != NL80211_IFTYPE_STATION &&
4883 dev->ieee80211_ptr->iftype != NL80211_IFTYPE_ADHOC && 4886 dev->ieee80211_ptr->iftype != NL80211_IFTYPE_ADHOC &&
4884 dev->ieee80211_ptr->iftype != NL80211_IFTYPE_P2P_CLIENT) { 4887 dev->ieee80211_ptr->iftype != NL80211_IFTYPE_P2P_CLIENT &&
4888 dev->ieee80211_ptr->iftype != NL80211_IFTYPE_AP &&
4889 dev->ieee80211_ptr->iftype != NL80211_IFTYPE_AP_VLAN &&
4890 dev->ieee80211_ptr->iftype != NL80211_IFTYPE_P2P_GO) {
4885 err = -EOPNOTSUPP; 4891 err = -EOPNOTSUPP;
4886 goto out; 4892 goto out;
4887 } 4893 }