wlcore: decrease elp timeout
authorEliad Peller <eliad@wizery.com>
Sun, 2 Sep 2012 10:30:04 +0000 (13:30 +0300)
committerLuciano Coelho <luca@coelho.fi>
Thu, 27 Sep 2012 09:13:54 +0000 (12:13 +0300)
The current elp timeout (the same as the dynamic
ps timeout - 1500ms) is too high. Usually,
wl1271_ps_elp_sleep() get called right after tx/rx,
which is fine, but some command might get sent
even when there is no traffic (e.g. ht changes
triggered by beacon frames), and leaving the
device awake for 1500ms in this case is redundant.

Use a timeout of 30ms.
The fw won't enter elp anyway before the dynamic-ps
timeout was expired as well (and it entered ps
successfully).

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <luca@coelho.fi>
drivers/net/wireless/ti/wlcore/ps.c

index e904d68767e2c6243c85661bc61be055cd3d6ed3..4d1414a673fb6025f42d20e4b7da16fcaf2f6265 100644 (file)
@@ -28,7 +28,7 @@
 
 #define WL1271_WAKEUP_TIMEOUT 500
 
-#define ELP_ENTRY_DELAY  5
+#define ELP_ENTRY_DELAY  30
 
 void wl1271_elp_work(struct work_struct *work)
 {
@@ -98,11 +98,7 @@ void wl1271_ps_elp_sleep(struct wl1271 *wl)
                        return;
        }
 
-       if (wl->conf.conn.forced_ps)
-               timeout = ELP_ENTRY_DELAY;
-       else
-               timeout = wl->conf.conn.dynamic_ps_timeout;
-
+       timeout = ELP_ENTRY_DELAY;
        ieee80211_queue_delayed_work(wl->hw, &wl->elp_work,
                                     msecs_to_jiffies(timeout));
 }