summaryrefslogtreecommitdiffstats
path: root/net/wireless/core.h
diff options
context:
space:
mode:
authorMichal Kazior <michal.kazior@tieto.com>2014-01-29 14:22:27 +0100
committerJohannes Berg <johannes.berg@intel.com>2014-02-04 21:58:17 +0100
commit9e0e29615a2077be852b1245b57c5b00fa609522 (patch)
tree73d899373e01efe1fd72a895d8e2fe2f6bc8fcb2 /net/wireless/core.h
parentfe94f3a4ffaa20c7470038c69ffc8e545ef5f90a (diff)
downloadlinux-9e0e29615a2077be852b1245b57c5b00fa609522.tar.gz
linux-9e0e29615a2077be852b1245b57c5b00fa609522.tar.bz2
linux-9e0e29615a2077be852b1245b57c5b00fa609522.zip
cfg80211: consider existing DFS interfaces
It was possible to break interface combinations in the following way: combo 1: iftype = AP, num_ifaces = 2, num_chans = 2, combo 2: iftype = AP, num_ifaces = 1, num_chans = 1, radar = HT20 With the above interface combinations it was possible to: step 1. start AP on DFS channel by matching combo 2 step 2. start AP on non-DFS channel by matching combo 1 This was possible beacuse (step 2) did not consider if other interfaces require radar detection. The patch changes how cfg80211 tracks channels - instead of channel itself now a complete chandef is stored. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/core.h')
-rw-r--r--net/wireless/core.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/wireless/core.h b/net/wireless/core.h
index 8a820f9c4a76..9895ab16c051 100644
--- a/net/wireless/core.h
+++ b/net/wireless/core.h
@@ -443,7 +443,8 @@ static inline unsigned int elapsed_jiffies_msecs(unsigned long start)
void
cfg80211_get_chan_state(struct wireless_dev *wdev,
struct ieee80211_channel **chan,
- enum cfg80211_chan_mode *chanmode);
+ enum cfg80211_chan_mode *chanmode,
+ u8 *radar_detect);
int cfg80211_set_monitor_channel(struct cfg80211_registered_device *rdev,
struct cfg80211_chan_def *chandef);