summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2012-08-01 18:44:22 +0300
committerLuciano Coelho <luca@coelho.fi>2012-09-27 12:13:51 +0300
commitd49524d3e8406e3b858650abcf846531a2104120 (patch)
treefb2109982596084ba2b164e95eb4e57e6c4ae1ac /drivers/net/wireless
parent11bc97eb902ddac822f32dc5a890d7b6274b754d (diff)
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')
-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 a797ce7201b..ae2b0fd7e55 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;