2010-10-20 12:21:42

by Luciano Coelho

[permalink] [raw]
Subject: [PATCH] wl1271: exit ELP mode when setting enabled rates in tx

From: Luciano Coelho <[email protected]>

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 <[email protected]>
Signed-off-by: Luciano Coelho <[email protected]>
---
drivers/net/wireless/wl12xx/wl1271_tx.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/wl12xx/wl1271_tx.c b/drivers/net/wireless/wl12xx/wl1271_tx.c
index 46fafe0..279be5b 100644
--- a/drivers/net/wireless/wl12xx/wl1271_tx.c
+++ b/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);
}
--
1.7.0.4



2010-10-20 13:11:51

by Tuomas Katila

[permalink] [raw]
Subject: Re: [PATCH] wl1271: exit ELP mode when setting enabled rates in tx

On Wed, 2010-10-20 at 14:21 +0200, ext [email protected] wrote:
> From: Luciano Coelho <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Luciano Coelho <[email protected]>
> ---

Tested-by: Tuomas Katila <[email protected]>

I couldn't reproduce the error after tens of tries.

-Tuomas



2010-10-20 18:16:42

by Luciano Coelho

[permalink] [raw]
Subject: Re: [PATCH] wl1271: exit ELP mode when setting enabled rates in tx

On Wed, 2010-10-20 at 15:06 +0200, Tuomas Katila wrote:
> On Wed, 2010-10-20 at 14:21 +0200, ext [email protected] wrote:
> > From: Luciano Coelho <[email protected]>
> >
> > 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 <[email protected]>
> > Signed-off-by: Luciano Coelho <[email protected]>
> > ---
>
> Tested-by: Tuomas Katila <[email protected]>
>
> I couldn't reproduce the error after tens of tries.

Thanks Tuomas! Applied.

--
Cheers,
Luca.