Search Linux Wireless

Re: [EXTERNAL] [PATCHv2 0/5] Runtime PM support for wlcore

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

 



* Reizer, Eyal <eyalr@xxxxxx> [180522 13:28]:
> Actually the below patch removing the call to wlcore_fw_sleep() avoids this error.
> The downside is that the wl8 firmware remains fully active during supend, so we
> Would need to find the root cause why the last call allowing the wilink8 firmware 
> To go into ELP mode during suspend is only completing on resume and not during
> Suspend enter.
> 
> diff --git a/drivers/net/wireless/ti/wlcore/main.c
> b/drivers/net/wireless/ti/wlcore/main.c
> index 4c297aa..8df1ae6 100644
> --- a/drivers/net/wireless/ti/wlcore/main.c
> +++ b/drivers/net/wireless/ti/wlcore/main.c
> @@ -1789,7 +1789,6 @@ static int wl1271_op_suspend(struct ieee80211_hw *hw,
>                 goto out_sleep;
> 
>  out_sleep:
> -       pm_runtime_put_noidle(wl->dev);
>         mutex_unlock(&wl->mutex);
> 
>         if (ret < 0) {
> @@ -1821,15 +1820,7 @@ static int wl1271_op_suspend(struct ieee80211_hw *hw,
>          */
>         cancel_delayed_work(&wl->tx_watchdog_work);
> 
> -       /*
> -        * Use an immediate call for allowing the firmware to go into power
> -        * save during suspend.
> -        * Using a workque for this last write was only hapenning on resume
> -        * leaving the firmware with power save disabled during suspend,
> -        * while consuming full power during wowlan suspend.
> -        */
> -       wlcore_fw_sleep(wl);
> -
> +       pm_runtime_put_noidle(wl->dev);
>         return 0;
>  }

OK try replacing the pm_runtime_put_noidle() above with just
pm_runtime_put_sync(). The reason why I put noidle there was the
wlcore_fw_sleep() call, with that gone put_sync should do the trick.

Regards,

Tony



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux