Skip to content

Commit

Permalink
wlcore: decrease elp timeout
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Eliad Peller authored and Luciano Coelho committed Sep 27, 2012
1 parent 6f8d6b2 commit ab2c4f3
Showing 1 changed file with 2 additions and 6 deletions.
8 changes: 2 additions & 6 deletions drivers/net/wireless/ti/wlcore/ps.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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));
}
Expand Down

0 comments on commit ab2c4f3

Please sign in to comment.