wlcore: clear roc_vif on iface removal

When removing an interface currently performing a ROC operation, clear
the current ROC state. This is useful especially during recovery and
keeps mac80211 in sync to our state.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
This commit is contained in:
Arik Nemtsov 2012-11-27 08:44:48 +02:00 committed by Luciano Coelho
parent 2718bf4099
commit 5d979f3517

View file

@ -2414,6 +2414,11 @@ static void __wl1271_op_remove_interface(struct wl1271 *wl,
wl->sched_vif = NULL;
}
if (wl->roc_vif == vif) {
wl->roc_vif = NULL;
ieee80211_remain_on_channel_expired(wl->hw);
}
if (!test_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags)) {
/* disable active roles */
ret = wl1271_ps_elp_wakeup(wl);