diff options
author | Janusz Dziedzic <janusz.dziedzic@tieto.com> | 2014-02-21 13:46:13 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2014-02-25 11:32:54 -0500 |
commit | 31559f35c5724976fd975e5d7e90cdb693b8dd27 (patch) | |
tree | 92f0a7e9a2474e730a2461c1e284cb16f77d1b4b /net/wireless/nl80211.c | |
parent | 089027e57cfa79337feffdd7252c8ba0be352afa (diff) |
cfg80211: DFS get CAC time from regulatory database
Send Channel Availability Check time as a parameter
of start_radar_detection() callback.
Get CAC time from regulatory database.
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/nl80211.c')
-rw-r--r-- | net/wireless/nl80211.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 9f7ebf94a050..8fa02a3fa7f7 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c | |||
@@ -5779,6 +5779,7 @@ static int nl80211_start_radar_detection(struct sk_buff *skb, | |||
5779 | struct wireless_dev *wdev = dev->ieee80211_ptr; | 5779 | struct wireless_dev *wdev = dev->ieee80211_ptr; |
5780 | struct cfg80211_chan_def chandef; | 5780 | struct cfg80211_chan_def chandef; |
5781 | enum nl80211_dfs_regions dfs_region; | 5781 | enum nl80211_dfs_regions dfs_region; |
5782 | unsigned int cac_time_ms; | ||
5782 | int err; | 5783 | int err; |
5783 | 5784 | ||
5784 | dfs_region = reg_get_dfs_region(wdev->wiphy); | 5785 | dfs_region = reg_get_dfs_region(wdev->wiphy); |
@@ -5814,11 +5815,17 @@ static int nl80211_start_radar_detection(struct sk_buff *skb, | |||
5814 | if (err) | 5815 | if (err) |
5815 | return err; | 5816 | return err; |
5816 | 5817 | ||
5817 | err = rdev->ops->start_radar_detection(&rdev->wiphy, dev, &chandef); | 5818 | cac_time_ms = cfg80211_chandef_dfs_cac_time(&rdev->wiphy, &chandef); |
5819 | if (WARN_ON(!cac_time_ms)) | ||
5820 | cac_time_ms = IEEE80211_DFS_MIN_CAC_TIME_MS; | ||
5821 | |||
5822 | err = rdev->ops->start_radar_detection(&rdev->wiphy, dev, &chandef, | ||
5823 | cac_time_ms); | ||
5818 | if (!err) { | 5824 | if (!err) { |
5819 | wdev->chandef = chandef; | 5825 | wdev->chandef = chandef; |
5820 | wdev->cac_started = true; | 5826 | wdev->cac_started = true; |
5821 | wdev->cac_start_time = jiffies; | 5827 | wdev->cac_start_time = jiffies; |
5828 | wdev->cac_time_ms = cac_time_ms; | ||
5822 | } | 5829 | } |
5823 | return err; | 5830 | return err; |
5824 | } | 5831 | } |