mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-24 09:50:04 +00:00
wl12xx: mark no sched scan only after FW event
stop sched scan isn't an immediate operation and we need to wait for PERIODIC_SCAN_COMPLETE_EVENT_ID after sending a stop before changing internal state and notifying upper layers. Not doing this caused problems when canceling an existing sched scan and immediately requesting to start a new one with a different configuration as the FW was still in the middle of the previous sched scan. Signed-off-by: Eyal Shapira <eyal@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
This commit is contained in:
parent
fea2a613cf
commit
ee91d18551
2 changed files with 1 additions and 2 deletions
|
@ -267,8 +267,8 @@ static int wl1271_event_process(struct wl1271 *wl, struct event_mailbox *mbox)
|
||||||
wl1271_debug(DEBUG_EVENT, "PERIODIC_SCAN_COMPLETE_EVENT "
|
wl1271_debug(DEBUG_EVENT, "PERIODIC_SCAN_COMPLETE_EVENT "
|
||||||
"(status 0x%0x)", mbox->scheduled_scan_status);
|
"(status 0x%0x)", mbox->scheduled_scan_status);
|
||||||
if (wl->sched_scanning) {
|
if (wl->sched_scanning) {
|
||||||
wl1271_scan_sched_scan_stop(wl);
|
|
||||||
ieee80211_sched_scan_stopped(wl->hw);
|
ieee80211_sched_scan_stopped(wl->hw);
|
||||||
|
wl->sched_scanning = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -754,7 +754,6 @@ void wl1271_scan_sched_scan_stop(struct wl1271 *wl)
|
||||||
wl1271_error("failed to send sched scan stop command");
|
wl1271_error("failed to send sched scan stop command");
|
||||||
goto out_free;
|
goto out_free;
|
||||||
}
|
}
|
||||||
wl->sched_scanning = false;
|
|
||||||
|
|
||||||
out_free:
|
out_free:
|
||||||
kfree(stop);
|
kfree(stop);
|
||||||
|
|
Loading…
Reference in a new issue