mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
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 <[email protected]> Signed-off-by: John W. Linville <[email protected]>
This commit is contained in:
parent
aa9746af8f
commit
9d38d85de0
6 changed files with 57 additions and 52 deletions
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4653,7 +4653,8 @@ static int nl80211_register_action(struct sk_buff *skb, struct genl_info *info)
|
|||
if (err)
|
||||
goto unlock_rtnl;
|
||||
|
||||
if (dev->ieee80211_ptr->iftype != NL80211_IFTYPE_STATION) {
|
||||
if (dev->ieee80211_ptr->iftype != NL80211_IFTYPE_STATION &&
|
||||
dev->ieee80211_ptr->iftype != NL80211_IFTYPE_ADHOC) {
|
||||
err = -EOPNOTSUPP;
|
||||
goto out;
|
||||
}
|
||||
|
|
@ -4703,7 +4704,8 @@ static int nl80211_action(struct sk_buff *skb, struct genl_info *info)
|
|||
goto out;
|
||||
}
|
||||
|
||||
if (dev->ieee80211_ptr->iftype != NL80211_IFTYPE_STATION) {
|
||||
if (dev->ieee80211_ptr->iftype != NL80211_IFTYPE_STATION &&
|
||||
dev->ieee80211_ptr->iftype != NL80211_IFTYPE_ADHOC) {
|
||||
err = -EOPNOTSUPP;
|
||||
goto out;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue