2011-12-14 13:32:31

by Pontus Fuchs

[permalink] [raw]
Subject: [PATCH] Set wlvif->ps_compl to NULL in before return

wl1271_configure_suspend_sta leaves a stale stack declared
completion in wlvif->ps_compl. Set it to NULL before returning.

Signed-off-by: Pontus Fuchs <[email protected]>
---
drivers/net/wireless/wl12xx/main.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c
index 2f7bfa8..b9e506d 100644
--- a/drivers/net/wireless/wl12xx/main.c
+++ b/drivers/net/wireless/wl12xx/main.c
@@ -1585,24 +1585,24 @@ static int wl1271_configure_suspend_sta(struct wl1271 *wl,

ret = wait_for_completion_timeout(
&compl, msecs_to_jiffies(WL1271_PS_COMPLETE_TIMEOUT));
+
+ mutex_lock(&wl->mutex);
if (ret <= 0) {
wl1271_warning("couldn't enter ps mode!");
ret = -EBUSY;
- goto out;
+ goto out_cleanup;
}

- /* take mutex again, and wakeup */
- mutex_lock(&wl->mutex);
-
ret = wl1271_ps_elp_wakeup(wl);
if (ret < 0)
- goto out_unlock;
+ goto out_cleanup;
}
out_sleep:
wl1271_ps_elp_sleep(wl);
+out_cleanup:
+ wl->ps_compl = NULL;
out_unlock:
mutex_unlock(&wl->mutex);
-out:
return ret;

}
--
1.7.5.4



2011-12-15 08:55:12

by Luciano Coelho

[permalink] [raw]
Subject: Re: [PATCH] Set wlvif->ps_compl to NULL in before return

On Wed, 2011-12-14 at 14:32 +0100, Pontus Fuchs wrote:
> wl1271_configure_suspend_sta leaves a stale stack declared
> completion in wlvif->ps_compl. Set it to NULL before returning.
>
> Signed-off-by: Pontus Fuchs <[email protected]>
> ---

Applied with a small fix. wl->ps_compl was used, which doesn't exist
anymore. I changed it to wlvif->ps_compl before applying.

--
Cheers,
Luca.


2011-12-15 09:38:38

by Pontus Fuchs

[permalink] [raw]
Subject: Re: [PATCH] Set wlvif->ps_compl to NULL in before return

On 2011-12-15 09:55, Luciano Coelho wrote:
> On Wed, 2011-12-14 at 14:32 +0100, Pontus Fuchs wrote:
>> wl1271_configure_suspend_sta leaves a stale stack declared
>> completion in wlvif->ps_compl. Set it to NULL before returning.
>>
>> Signed-off-by: Pontus Fuchs<[email protected]>
>> ---
>
> Applied with a small fix. wl->ps_compl was used, which doesn't exist
> anymore. I changed it to wlvif->ps_compl before applying.

Thanks :) I Messed up when moving the code to your latest tree.

-ETOMANYTREES or something

Cheers,

Pontus