aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ti
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/ti
parentwlcore: configure wowlan regardless of wakeup conditions (diff)
downloadlinux-dev-d49524d3e8406e3b858650abcf846531a2104120.tar.xz
linux-dev-d49524d3e8406e3b858650abcf846531a2104120.zip
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;