wl1271: exit ELP mode when setting enabled rates in tx

This bug was being triggered by a call to acx_rate_policies in tx_work
without calling ps_elp_wakeup first.  If we have full PSM enabled, this
happens rather often, immediately after association.

Reported-by: Tuomas Katila <ext-tuomas.2.katila@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Tested-by: Tuomas Katila <ext-tuomas.2.katila@nokia.com>
This commit is contained in:
Luciano Coelho 2010-10-20 15:15:52 +03:00 committed by John W. Linville
parent 6a2de93b25
commit 5404643139

View File

@ -261,6 +261,11 @@ void wl1271_tx_work_locked(struct wl1271 *wl)
/* if rates have changed, re-configure the rate policy */ /* if rates have changed, re-configure the rate policy */
if (unlikely(sta_rates)) { if (unlikely(sta_rates)) {
ret = wl1271_ps_elp_wakeup(wl, false);
if (ret < 0)
goto out;
woken_up = true;
wl->rate_set = wl1271_tx_enabled_rates_get(wl, sta_rates); wl->rate_set = wl1271_tx_enabled_rates_get(wl, sta_rates);
wl1271_acx_rate_policies(wl); wl1271_acx_rate_policies(wl);
} }