summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ti
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2012-08-01 15:44:22 (GMT)
committerLuciano Coelho <luca@coelho.fi>2012-09-27 09:13:51 (GMT)
commitd49524d3e8406e3b858650abcf846531a2104120 (patch)
treefb2109982596084ba2b164e95eb4e57e6c4ae1ac /drivers/net/wireless/ti
parent11bc97eb902ddac822f32dc5a890d7b6274b754d (diff)
downloadlinux-d49524d3e8406e3b858650abcf846531a2104120.tar.xz
wlcore: resume() only if sta is associated
mac80211's resume() callback might get called even if the sta is not associated (but only up). The resume sequence in this case results in configuring the wake-up conditions of a non-started role, which causes fw assertion. Fix it by bailing out if the STA is not connected (like we do on suspend()). Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <luca@coelho.fi>
Diffstat (limited to 'drivers/net/wireless/ti')
-rw-r--r--drivers/net/wireless/ti/wlcore/main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c
index a797ce7..ae2b0fd 100644
--- a/drivers/net/wireless/ti/wlcore/main.c
+++ b/drivers/net/wireless/ti/wlcore/main.c
@@ -1672,6 +1672,9 @@ static void wl1271_configure_resume(struct wl1271 *wl,
if ((!is_ap) && (!is_sta))
return;
+ if (is_sta && !test_bit(WLVIF_FLAG_STA_ASSOCIATED, &wlvif->flags))
+ return;
+
ret = wl1271_ps_elp_wakeup(wl);
if (ret < 0)
return;