Message ID | 553DC3E3.5050802@linux.intel.com (mailing list archive) |
---|---|
State | Rejected |
Delegated to: | Kalle Valo |
Headers | show |
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<zhonghui.fu@linux.intel.com> > --- > 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 > -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 2015/4/27 16:53, Arend van Spriel wrote: > 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] OK, please ignore this patch. What's the target kernel version of your patch? Thanks, Zhonghui > > Regards, > Arend > > [1] https://patchwork.kernel.org/patch/6217391/ > >> Signed-off-by: Zhonghui Fu<zhonghui.fu@linux.intel.com> >> --- >> 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 >> > -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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; }
Need to keep the power supply for WiFi chip during system suspension. Otherwise, the context of WiFi chip will be lost. Signed-off-by: Zhonghui Fu <zhonghui.fu@linux.intel.com> --- drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html