Change internal state in mac80211 only after the driver reports that sched scan was actually stopped. Signed-off-by: Eyal Shapira <eyal@xxxxxxxxxx> --- net/mac80211/scan.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c index 2c5041c..33ca4d8 100644 --- a/net/mac80211/scan.c +++ b/net/mac80211/scan.c @@ -885,11 +885,12 @@ int ieee80211_request_sched_scan_stop(struct ieee80211_sub_if_data *sdata) } if (local->sched_scanning) { - for (i = 0; i < IEEE80211_NUM_BANDS; i++) + for (i = 0; i < IEEE80211_NUM_BANDS; i++) { kfree(local->sched_scan_ies.ie[i]); + local->sched_scan_ies.ie[i] = NULL; + } drv_sched_scan_stop(local, sdata); - local->sched_scanning = false; } out: mutex_unlock(&sdata->local->mtx); @@ -921,8 +922,10 @@ void ieee80211_sched_scan_stopped_work(struct work_struct *work) return; } - for (i = 0; i < IEEE80211_NUM_BANDS; i++) + for (i = 0; i < IEEE80211_NUM_BANDS; i++) { kfree(local->sched_scan_ies.ie[i]); + local->sched_scan_ies.ie[i] = NULL; + } local->sched_scanning = false; -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html