cfg80211: use RTNL locked reg_can_beacon for IR-relaxation
The RTNL is required to check for IR-relaxation conditions that allow
more channels to beacon. Export an RTNL locked version of reg_can_beacon
and use it where possible in AP/STA interface type flows, where
IR-relaxation may be applicable.
Fixes: 06f207fc54
("cfg80211: change GO_CONCURRENT to IR_CONCURRENT for STA")
Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:

committed by
Johannes Berg

parent
b3e7de873d
commit
923b352f19
@@ -4868,6 +4868,23 @@ bool cfg80211_reg_can_beacon(struct wiphy *wiphy,
|
||||
struct cfg80211_chan_def *chandef,
|
||||
enum nl80211_iftype iftype);
|
||||
|
||||
/**
|
||||
* cfg80211_reg_can_beacon_relax - check if beaconing is allowed with relaxation
|
||||
* @wiphy: the wiphy
|
||||
* @chandef: the channel definition
|
||||
* @iftype: interface type
|
||||
*
|
||||
* Return: %true if there is no secondary channel or the secondary channel(s)
|
||||
* can be used for beaconing (i.e. is not a radar channel etc.). This version
|
||||
* also checks if IR-relaxation conditions apply, to allow beaconing under
|
||||
* more permissive conditions.
|
||||
*
|
||||
* Requires the RTNL to be held.
|
||||
*/
|
||||
bool cfg80211_reg_can_beacon_relax(struct wiphy *wiphy,
|
||||
struct cfg80211_chan_def *chandef,
|
||||
enum nl80211_iftype iftype);
|
||||
|
||||
/*
|
||||
* cfg80211_ch_switch_notify - update wdev channel and notify userspace
|
||||
* @dev: the device which switched channels
|
||||
|
Reference in New Issue
Block a user