mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
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 <[email protected]> Signed-off-by: Johannes Berg <[email protected]>
This commit is contained in:
parent
fe94f3a4ff
commit
9e0e29615a
9 changed files with 35 additions and 19 deletions
|
|
@ -3146,8 +3146,8 @@ struct cfg80211_cached_keys;
|
|||
* @identifier: (private) Identifier used in nl80211 to identify this
|
||||
* wireless device if it has no netdev
|
||||
* @current_bss: (private) Used by the internal configuration code
|
||||
* @channel: (private) Used by the internal configuration code to track
|
||||
* the user-set AP, monitor and WDS channel
|
||||
* @chandef: (private) Used by the internal configuration code to track
|
||||
* the user-set channel definition.
|
||||
* @preset_chandef: (private) Used by the internal configuration code to
|
||||
* track the channel to be used for AP later
|
||||
* @bssid: (private) Used by the internal configuration code
|
||||
|
|
@ -3211,9 +3211,7 @@ struct wireless_dev {
|
|||
|
||||
struct cfg80211_internal_bss *current_bss; /* associated / joined */
|
||||
struct cfg80211_chan_def preset_chandef;
|
||||
|
||||
/* for AP and mesh channel tracking */
|
||||
struct ieee80211_channel *channel;
|
||||
struct cfg80211_chan_def chandef;
|
||||
|
||||
bool ibss_fixed;
|
||||
bool ibss_dfs_possible;
|
||||
|
|
|
|||
Loading…
Reference in a new issue