diff options
Diffstat (limited to 'net/wireless/core.h')
| -rw-r--r-- | net/wireless/core.h | 31 | 
1 files changed, 31 insertions, 0 deletions
diff --git a/net/wireless/core.h b/net/wireless/core.h index 37d70dc2fe8..3aec0e429d8 100644 --- a/net/wireless/core.h +++ b/net/wireless/core.h @@ -86,6 +86,8 @@ struct cfg80211_registered_device {  	struct cfg80211_wowlan *wowlan; +	struct delayed_work dfs_update_channels_wk; +  	/* must be last because of the way we do wiphy_priv(),  	 * and it should at least be aligned to NETDEV_ALIGN */  	struct wiphy wiphy __aligned(NETDEV_ALIGN); @@ -108,6 +110,9 @@ cfg80211_rdev_free_wowlan(struct cfg80211_registered_device *rdev)  	for (i = 0; i < rdev->wowlan->n_patterns; i++)  		kfree(rdev->wowlan->patterns[i].mask);  	kfree(rdev->wowlan->patterns); +	if (rdev->wowlan->tcp && rdev->wowlan->tcp->sock) +		sock_release(rdev->wowlan->tcp->sock); +	kfree(rdev->wowlan->tcp);  	kfree(rdev->wowlan);  } @@ -428,6 +433,22 @@ int cfg80211_can_use_iftype_chan(struct cfg80211_registered_device *rdev,  				 enum cfg80211_chan_mode chanmode,  				 u8 radar_detect); +/** + * cfg80211_chandef_dfs_required - checks if radar detection is required + * @wiphy: the wiphy to validate against + * @chandef: the channel definition to check + * Return: 1 if radar detection is required, 0 if it is not, < 0 on error + */ +int cfg80211_chandef_dfs_required(struct wiphy *wiphy, +				  const struct cfg80211_chan_def *c); + +void cfg80211_set_dfs_state(struct wiphy *wiphy, +			    const struct cfg80211_chan_def *chandef, +			    enum nl80211_dfs_state dfs_state); + +void cfg80211_dfs_channels_update_work(struct work_struct *work); + +  static inline int  cfg80211_can_change_interface(struct cfg80211_registered_device *rdev,  			      struct wireless_dev *wdev, @@ -454,6 +475,16 @@ cfg80211_can_use_chan(struct cfg80211_registered_device *rdev,  					    chan, chanmode, 0);  } +static inline unsigned int elapsed_jiffies_msecs(unsigned long start) +{ +	unsigned long end = jiffies; + +	if (end >= start) +		return jiffies_to_msecs(end - start); + +	return jiffies_to_msecs(end + (MAX_JIFFY_OFFSET - start) + 1); +} +  void  cfg80211_get_chan_state(struct wireless_dev *wdev,  		        struct ieee80211_channel **chan,  |