提交 b9f628fc 编写于 作者: E Eliad Peller 提交者: Johannes Berg

mac80211: clear local->sched_scan_req properly on reconfig

On reconfig, in case of sched_scan_req->n_scan_plans > 1,
local->sched_scan_req was never cleared, although
cfg80211_sched_scan_stopped_rtnl() was called, resulting
in local->sched_scan_req holding a stale and preventing
further scheduled scan requests.

Clear it explicitly in this case.

Fixes: 42a7e82c6792 ("mac80211: Do not restart scheduled scan if multiple scan plans are set")
Signed-off-by: NEliad Peller <eliadx.peller@intel.com>
Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
上级 470f4d61
...@@ -2043,8 +2043,11 @@ int ieee80211_reconfig(struct ieee80211_local *local) ...@@ -2043,8 +2043,11 @@ int ieee80211_reconfig(struct ieee80211_local *local)
*/ */
if (sched_scan_req->n_scan_plans > 1 || if (sched_scan_req->n_scan_plans > 1 ||
__ieee80211_request_sched_scan_start(sched_scan_sdata, __ieee80211_request_sched_scan_start(sched_scan_sdata,
sched_scan_req)) sched_scan_req)) {
RCU_INIT_POINTER(local->sched_scan_sdata, NULL);
RCU_INIT_POINTER(local->sched_scan_req, NULL);
sched_scan_stopped = true; sched_scan_stopped = true;
}
mutex_unlock(&local->mtx); mutex_unlock(&local->mtx);
if (sched_scan_stopped) if (sched_scan_stopped)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册