aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath6kl/sdio.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/sdio.c')
-rw-r--r--drivers/net/wireless/ath/ath6kl/sdio.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/sdio.c b/drivers/net/wireless/ath/ath6kl/sdio.c
index 07dcf00ca1a..4febee72349 100644
--- a/drivers/net/wireless/ath/ath6kl/sdio.c
+++ b/drivers/net/wireless/ath/ath6kl/sdio.c
@@ -856,6 +856,19 @@ static int ath6kl_sdio_suspend(struct ath6kl *ar, struct cfg80211_wowlan *wow)
856 if (ret) 856 if (ret)
857 goto cut_pwr; 857 goto cut_pwr;
858 858
859 /*
860 * Workaround to support Deep Sleep with MSM, set the host pm
861 * flag as MMC_PM_WAKE_SDIO_IRQ to allow SDCC deiver to disable
862 * the sdc2_clock and internally allows MSM to enter
863 * TCXO shutdown properly.
864 */
865 if ((flags & MMC_PM_WAKE_SDIO_IRQ)) {
866 ret = sdio_set_host_pm_flags(func,
867 MMC_PM_WAKE_SDIO_IRQ);
868 if (ret)
869 goto cut_pwr;
870 }
871
859 ret = ath6kl_cfg80211_suspend(ar, ATH6KL_CFG_SUSPEND_DEEPSLEEP, 872 ret = ath6kl_cfg80211_suspend(ar, ATH6KL_CFG_SUSPEND_DEEPSLEEP,
860 NULL); 873 NULL);
861 if (ret) 874 if (ret)