summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ti
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2012-08-01 19:44:22 +0400
committerLuciano Coelho <luca@coelho.fi>2012-09-27 13:13:51 +0400
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 a797ce7201b2..ae2b0fd7e558 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;