summaryrefslogtreecommitdiff
path: root/net/wireless/mlme.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2010-06-09 15:20:33 (GMT)
committerJohn W. Linville <linville@tuxdriver.com>2010-06-14 19:38:16 (GMT)
commit9d38d85de0270e3927bffab94973a9c78d1dc800 (patch)
tree31bc0111445ce78e2c373954d3b0fbce7cbb63ba /net/wireless/mlme.c
parentaa9746af8fa26d28d442a7415c701eb5dfeb7a2a (diff)
downloadlinux-9d38d85de0270e3927bffab94973a9c78d1dc800.tar.xz
cfg80211/mac80211: allow action frame TX/RX in IBSS
When in IBSS mode, currently action frame TX and RX cannot be used. Allow using it to talk to any peer, or for public action frames. Also, while at it, restructure the code in mac80211 to make it easier to add this for other interface types in the future. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/mlme.c')
-rw-r--r--net/wireless/mlme.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/wireless/mlme.c b/net/wireless/mlme.c
index f69ae19..9f95354 100644
--- a/net/wireless/mlme.c
+++ b/net/wireless/mlme.c
@@ -846,8 +846,9 @@ int cfg80211_mlme_action(struct cfg80211_registered_device *rdev,
if (!wdev->current_bss ||
memcmp(wdev->current_bss->pub.bssid, mgmt->bssid,
ETH_ALEN) != 0 ||
- memcmp(wdev->current_bss->pub.bssid, mgmt->da,
- ETH_ALEN) != 0)
+ (wdev->iftype == NL80211_IFTYPE_STATION &&
+ memcmp(wdev->current_bss->pub.bssid, mgmt->da,
+ ETH_ALEN) != 0))
return -ENOTCONN;
}