@@ -1469,10 +1469,13 @@ static struct notifier_block wl1271_dev_notifier = {
static int wl1271_configure_suspend_sta(struct wl1271 *wl)
{
- int ret;
+ int ret = 0;
mutex_lock(&wl->mutex);
+ if (!test_bit(WL1271_FLAG_STA_ASSOCIATED, &wl->flags))
+ goto out_unlock;
+
ret = wl1271_ps_elp_wakeup(wl);
if (ret < 0)
goto out_unlock;
@@ -1517,10 +1520,13 @@ out:
static int wl1271_configure_suspend_ap(struct wl1271 *wl)
{
- int ret;
+ int ret = 0;
mutex_lock(&wl->mutex);
+ if (!test_bit(WL1271_FLAG_AP_STARTED, &wl->flags))
+ goto out_unlock;
+
ret = wl1271_ps_elp_wakeup(wl);
if (ret < 0)
goto out_unlock;
Configure the device (to wowlan) only if the sta/ap is associated/started. Signed-off-by: Eliad Peller <eliad@wizery.com> --- drivers/net/wireless/wl12xx/main.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-)