cfg80211: add cfg80211_sched_scan_stopped_rtnl
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")
Cc: stable@vger.kernel.org (3.14+)
Signed-off-by: Eliad Peller <eliadx.peller@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
c1fbb25884
commit
792e6aa7a1
@ -3668,6 +3668,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
Block a user