summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>2015-05-08 14:08:33 +0900
committerSeung-Woo Kim <sw0312.kim@samsung.com>2016-12-14 13:44:54 +0900
commitc9a2c6ac8c8902b06f6c02a98825b0ae3b412cb8 (patch)
treebc5308cba5292d06e868c90f0531cb345f66302e /drivers/net
parent3f1a9fddfe8520b4009471f685ce15ed89d3fa4d (diff)
local/pci: pci-exynos5433: Disable WiFi waking from Suspend to RAM
Disable the wake up of wlan_host_wake interrupt so WiFi won't resume system from Suspend to RAM. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/bcmdhd4358/dhd_pcie_linux.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/wireless/bcmdhd4358/dhd_pcie_linux.c b/drivers/net/wireless/bcmdhd4358/dhd_pcie_linux.c
index e8bcd01b9883..8f4da7ff9849 100644
--- a/drivers/net/wireless/bcmdhd4358/dhd_pcie_linux.c
+++ b/drivers/net/wireless/bcmdhd4358/dhd_pcie_linux.c
@@ -172,6 +172,9 @@ static struct pci_driver dhdpcie_driver = {
resume: dhdpcie_pci_resume,
};
+/* IRQ from wlan_host_wake GPIO in dhd_custom_exynos.c */
+extern int wlan_host_wake_irq;
+
int dhdpcie_init_succeeded = FALSE;
#ifndef BCMPCIE_OOB_HOST_WAKE
@@ -231,6 +234,10 @@ static int dhdpcie_suspend_dev(struct pci_dev *dev)
{
int ret;
DHD_TRACE_HW4(("%s: Enter\n", __FUNCTION__));
+
+ if (wlan_host_wake_irq)
+ disable_irq_wake(wlan_host_wake_irq);
+
#ifndef BCMPCIE_OOB_HOST_WAKE
dhdpcie_pme_active(dev, TRUE);
#endif /* BCMPCIE_OOB_HOST_WAKE */
@@ -264,6 +271,10 @@ static int dhdpcie_resume_dev(struct pci_dev *dev)
#ifndef BCMPCIE_OOB_HOST_WAKE
dhdpcie_pme_active(dev, FALSE);
#endif /* BCMPCIE_OOB_HOST_WAKE */
+
+ if (wlan_host_wake_irq)
+ enable_irq_wake(wlan_host_wake_irq);
+
return err;
}