summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/bcm4329/dhd_sdio.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/bcm4329/dhd_sdio.c')
-rw-r--r--drivers/net/wireless/bcm4329/dhd_sdio.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/bcm4329/dhd_sdio.c b/drivers/net/wireless/bcm4329/dhd_sdio.c
index ac46ca91eaeb..8915857cf2c8 100644
--- a/drivers/net/wireless/bcm4329/dhd_sdio.c
+++ b/drivers/net/wireless/bcm4329/dhd_sdio.c
@@ -58,6 +58,10 @@
#include <dhdioctl.h>
#include <sdiovar.h>
+#ifdef CONFIG_HAS_WAKELOCK
+#include <linux/wakelock.h>
+#endif
+
#ifdef DHD_DEBUG
#include <hndrte_cons.h>
#endif /* DHD_DEBUG */
@@ -4182,6 +4186,9 @@ dhdsdio_dpc(dhd_bus_t *bus)
/* Handle host mailbox indication */
if (intstatus & I_HMB_HOST_INT) {
+#ifdef CONFIG_HAS_WAKELOCK
+ wake_lock_timeout(&bus->dhd->wow_wakelock, 3*HZ);
+#endif
intstatus &= ~I_HMB_HOST_INT;
intstatus |= dhdsdio_hostmail(bus);
}
@@ -4214,6 +4221,9 @@ dhdsdio_dpc(dhd_bus_t *bus)
/* On frame indication, read available frames */
if (PKT_AVAILABLE()) {
+#ifdef CONFIG_HAS_WAKELOCK
+ wake_lock_timeout(&bus->dhd->wow_wakelock, 3*HZ);
+#endif
framecnt = dhdsdio_readframes(bus, rxlimit, &rxdone);
if (rxdone || bus->rxskip)
intstatus &= ~I_HMB_FRAME_IND;