Search Linux Wireless

Re: [PATCH 7/7] wl12xx: enter/exit psm on wowlan suspend/resume

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2011-05-11 at 11:54 +0300, Eliad Peller wrote:
> When operating as station, enter psm before suspending
> the device into wowlan state.
> 
> Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx>
> ---

[...]

> diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c
> index 308855a..b4dd1d9 100644
> --- a/drivers/net/wireless/wl12xx/main.c
> +++ b/drivers/net/wireless/wl12xx/main.c
> @@ -1332,6 +1332,79 @@ static struct notifier_block wl1271_dev_notifier = {
>  	.notifier_call = wl1271_dev_notify,
>  };
>  
> +static int wl1271_configure_suspend(struct wl1271 *wl)
> +{
> +	int ret;
> +
> +	if (wl->bss_type != BSS_TYPE_STA_BSS)
> +		return 0;
> +
> +	mutex_lock(&wl->mutex);
> +
> +	ret = wl1271_ps_elp_wakeup(wl);
> +	if (ret < 0)
> +		goto out_unlock;
> +
> +	/* enter psm if needed*/
> +	if (!test_bit(WL1271_FLAG_PSM, &wl->flags)) {
> +		DECLARE_COMPLETION_ONSTACK(compl);
> +
> +		wl->ps_compl = &compl;
> +		ret = wl1271_ps_set_mode(wl, STATION_POWER_SAVE_MODE,
> +				   wl->basic_rate, true);
> +		if (ret < 0)
> +			goto out_sleep;
> +
> +		/* we must unlock here so we will be able to get events */
> +		wl1271_ps_elp_sleep(wl);
> +		mutex_unlock(&wl->mutex);
> +
> +		ret = wait_for_completion_timeout(
> +			&compl, msecs_to_jiffies(500));

We have this for the ELP wakeup:

#define WL1271_WAKEUP_TIMEOUT 500

We should have a similar definition PS timeout.  And is this value just
a guess or is there a real meaning to it? Can these timeouts be combined
instead of having separate defines?


-- 
Cheers,
Luca.

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux