diff options
author | Ilan Peer <ilan.peer@intel.com> | 2014-02-23 02:13:01 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2014-04-09 04:55:34 -0400 |
commit | 174e0cd28af0fe3c6c634c3e4d9e042c683bd7f7 (patch) | |
tree | 047a3e0b02e6e5bb41324cd4571ef6251cd5fa79 /net/wireless/trace.h | |
parent | 94fc661f68c881eaa3a5904c12a2269372aa94d9 (diff) |
cfg80211: Enable GO operation on additional channels
Allow GO operation on a channel marked with IEEE80211_CHAN_GO_CONCURRENT
iff there is an active station interface that is associated to
an AP operating on the same channel in the 2 GHz band or the same UNII band
(in the 5 GHz band). This relaxation is not allowed if the channel is
marked with IEEE80211_CHAN_RADAR.
Note that this is a permissive approach to the FCC definitions,
that require a clear assessment that the device operating the AP is
an authorized master, i.e., with radar detection and DFS capabilities.
It is assumed that such restrictions are enforced by user space.
Furthermore, it is assumed, that if the conditions that allowed for
the operation of the GO on such a channel change, i.e., the station
interface disconnected from the AP, it is the responsibility of user
space to evacuate the GO from the channel.
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/trace.h')
-rw-r--r-- | net/wireless/trace.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/net/wireless/trace.h b/net/wireless/trace.h index aabccf13e07b..47b499f8f54d 100644 --- a/net/wireless/trace.h +++ b/net/wireless/trace.h | |||
@@ -2193,18 +2193,21 @@ TRACE_EVENT(cfg80211_cqm_rssi_notify, | |||
2193 | ); | 2193 | ); |
2194 | 2194 | ||
2195 | TRACE_EVENT(cfg80211_reg_can_beacon, | 2195 | TRACE_EVENT(cfg80211_reg_can_beacon, |
2196 | TP_PROTO(struct wiphy *wiphy, struct cfg80211_chan_def *chandef), | 2196 | TP_PROTO(struct wiphy *wiphy, struct cfg80211_chan_def *chandef, |
2197 | TP_ARGS(wiphy, chandef), | 2197 | enum nl80211_iftype iftype), |
2198 | TP_ARGS(wiphy, chandef, iftype), | ||
2198 | TP_STRUCT__entry( | 2199 | TP_STRUCT__entry( |
2199 | WIPHY_ENTRY | 2200 | WIPHY_ENTRY |
2200 | CHAN_DEF_ENTRY | 2201 | CHAN_DEF_ENTRY |
2202 | __field(enum nl80211_iftype, iftype) | ||
2201 | ), | 2203 | ), |
2202 | TP_fast_assign( | 2204 | TP_fast_assign( |
2203 | WIPHY_ASSIGN; | 2205 | WIPHY_ASSIGN; |
2204 | CHAN_DEF_ASSIGN(chandef); | 2206 | CHAN_DEF_ASSIGN(chandef); |
2207 | __entry->iftype = iftype; | ||
2205 | ), | 2208 | ), |
2206 | TP_printk(WIPHY_PR_FMT ", " CHAN_DEF_PR_FMT, | 2209 | TP_printk(WIPHY_PR_FMT ", " CHAN_DEF_PR_FMT ", iftype=%d", |
2207 | WIPHY_PR_ARG, CHAN_DEF_PR_ARG) | 2210 | WIPHY_PR_ARG, CHAN_DEF_PR_ARG, __entry->iftype) |
2208 | ); | 2211 | ); |
2209 | 2212 | ||
2210 | TRACE_EVENT(cfg80211_chandef_dfs_required, | 2213 | TRACE_EVENT(cfg80211_chandef_dfs_required, |