Subject: Re: [PATCH 2/2] brcmfmac: keep WiFi chip's power during system suspension

From: Arend van Spriel <[email-masked]>
Date: Mon, 27 Apr 2015 10:53:55 +0200

On 04/27/15 07:06, Fu, Zhonghui wrote:
> Need to keep the power supply for WiFi chip during system suspension.
> Otherwise, the context of WiFi chip will be lost.

I already submitted a patch doing exactly the same thing [1]

Regards,
Arend

[1] https://patchwork.kernel.org/patch/6217391/

> Signed-off-by: Zhonghui Fu<[email-masked]>
> ---
>   drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c |   10 ++++++----
>   1 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
> index fdf8feb..03d3671 100644
> --- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
> +++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
> @@ -1251,15 +1251,17 @@ static int brcmf_ops_sdio_suspend(struct device *dev)
>   	brcmf_sdiod_freezer_on(sdiodev);
>   	brcmf_sdio_wd_timer(sdiodev->bus, 0);
>
> +	sdio_flags = MMC_PM_KEEP_POWER;
>   	if (sdiodev->wowl_enabled) {
> -		sdio_flags = MMC_PM_KEEP_POWER;
>   		if (sdiodev->pdata->oob_irq_supported)
>   			enable_irq_wake(sdiodev->pdata->oob_irq_nr);
>   		else
> -			sdio_flags = MMC_PM_WAKE_SDIO_IRQ;
> -		if (sdio_set_host_pm_flags(sdiodev->func[1], sdio_flags))
> -			brcmf_err("Failed to set pm_flags %x\n", sdio_flags);
> +			sdio_flags |= MMC_PM_WAKE_SDIO_IRQ;
>   	}
> +
> +	if (sdio_set_host_pm_flags(sdiodev->func[1], sdio_flags))
> +		brcmf_err("Failed to set pm_flags %x\n", sdio_flags);
> +
>   	return 0;
>   }
>
> -- 1.7.1
>