cfg80211: consider existing DFS interfaces
authorMichal Kazior <michal.kazior@tieto.com>
Wed, 29 Jan 2014 13:22:27 +0000 (14:22 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 4 Feb 2014 20:58:17 +0000 (21:58 +0100)
commit9e0e29615a2077be852b1245b57c5b00fa609522
tree73d899373e01efe1fd72a895d8e2fe2f6bc8fcb2
parentfe94f3a4ffaa20c7470038c69ffc8e545ef5f90a
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>
include/net/cfg80211.h
net/wireless/ap.c
net/wireless/chan.c
net/wireless/core.h
net/wireless/ibss.c
net/wireless/mesh.c
net/wireless/mlme.c
net/wireless/nl80211.c
net/wireless/util.c