From: Arik Nemtsov Date: Tue, 27 Nov 2012 06:44:48 +0000 (+0200) Subject: wlcore: clear roc_vif on iface removal X-Git-Tag: upstream/snapshot3+hdmi~5537^2~28^2^2~62^2~50^2^2~27 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5d979f35179c365a6455302bd5a1fa0063a4065e;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git 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 Signed-off-by: Luciano Coelho --- diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c index 1b42cb3..3339216 100644 --- a/drivers/net/wireless/ti/wlcore/main.c +++ b/drivers/net/wireless/ti/wlcore/main.c @@ -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);