cfg80211: add cfg80211_sched_scan_stopped_rtnl
commit792e6aa7a1
upstream. Add locked-version for cfg80211_sched_scan_stopped. This is used for some users that might want to call it when rtnl is already locked. Fixes:d43c6b6
("mac80211: reschedule sched scan after HW restart") Signed-off-by: Eliad Peller <eliadx.peller@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
9b36bd2727
commit
853487c377
|
@ -3636,6 +3636,18 @@ void cfg80211_sched_scan_results(struct wiphy *wiphy);
|
||||||
*/
|
*/
|
||||||
void cfg80211_sched_scan_stopped(struct wiphy *wiphy);
|
void cfg80211_sched_scan_stopped(struct wiphy *wiphy);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* cfg80211_sched_scan_stopped_rtnl - notify that the scheduled scan has stopped
|
||||||
|
*
|
||||||
|
* @wiphy: the wiphy on which the scheduled scan stopped
|
||||||
|
*
|
||||||
|
* The driver can call this function to inform cfg80211 that the
|
||||||
|
* scheduled scan had to be stopped, for whatever reason. The driver
|
||||||
|
* is then called back via the sched_scan_stop operation when done.
|
||||||
|
* This function should be called with rtnl locked.
|
||||||
|
*/
|
||||||
|
void cfg80211_sched_scan_stopped_rtnl(struct wiphy *wiphy);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* cfg80211_inform_bss_width_frame - inform cfg80211 of a received BSS frame
|
* cfg80211_inform_bss_width_frame - inform cfg80211 of a received BSS frame
|
||||||
*
|
*
|
||||||
|
|
|
@ -284,14 +284,22 @@ void cfg80211_sched_scan_results(struct wiphy *wiphy)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(cfg80211_sched_scan_results);
|
EXPORT_SYMBOL(cfg80211_sched_scan_results);
|
||||||
|
|
||||||
void cfg80211_sched_scan_stopped(struct wiphy *wiphy)
|
void cfg80211_sched_scan_stopped_rtnl(struct wiphy *wiphy)
|
||||||
{
|
{
|
||||||
struct cfg80211_registered_device *rdev = wiphy_to_dev(wiphy);
|
struct cfg80211_registered_device *rdev = wiphy_to_dev(wiphy);
|
||||||
|
|
||||||
|
ASSERT_RTNL();
|
||||||
|
|
||||||
trace_cfg80211_sched_scan_stopped(wiphy);
|
trace_cfg80211_sched_scan_stopped(wiphy);
|
||||||
|
|
||||||
rtnl_lock();
|
|
||||||
__cfg80211_stop_sched_scan(rdev, true);
|
__cfg80211_stop_sched_scan(rdev, true);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(cfg80211_sched_scan_stopped_rtnl);
|
||||||
|
|
||||||
|
void cfg80211_sched_scan_stopped(struct wiphy *wiphy)
|
||||||
|
{
|
||||||
|
rtnl_lock();
|
||||||
|
cfg80211_sched_scan_stopped_rtnl(wiphy);
|
||||||
rtnl_unlock();
|
rtnl_unlock();
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(cfg80211_sched_scan_stopped);
|
EXPORT_SYMBOL(cfg80211_sched_scan_stopped);
|
||||||
|
|
Loading…
Reference in New Issue