Browse Source

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>
Luciano Coelho 14 years ago
parent
commit
5404643139
1 changed files with 5 additions and 0 deletions
  1. 5 0
      drivers/net/wireless/wl12xx/wl1271_tx.c

+ 5 - 0
drivers/net/wireless/wl12xx/wl1271_tx.c

@@ -261,6 +261,11 @@ void wl1271_tx_work_locked(struct wl1271 *wl)
 
 	/* if rates have changed, re-configure the rate policy */
 	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);
 		wl1271_acx_rate_policies(wl);
 	}