diff options
author | Rahul Bansal <rbansal@nvidia.com> | 2010-12-13 16:51:46 +0530 |
---|---|---|
committer | Bharat Nihalani <bnihalani@nvidia.com> | 2010-12-28 23:58:40 -0800 |
commit | f52b89b7405466ddefb65fa9337f535612e8281b (patch) | |
tree | d0262fe83cbcb82800965234b70cf03d587b8067 /drivers/net/wireless/bcm4329/dhd_sdio.c | |
parent | 878b4b36f9a2b116197c495d3a39fd9309beadc3 (diff) |
[bcm4329] WOW support in BCM driver
Making sure that Rx pkt is acknowledged and sent
to network interface by wifi driver before system
goes in suspend.
BUG ID 767438
Change-Id: Ie88176ec11aa1d2fe4253d9b0472d13a4742d300
Reviewed-on: http://git-master/r/12703
Reviewed-by: Rakesh Kumar <krakesh@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'drivers/net/wireless/bcm4329/dhd_sdio.c')
-rw-r--r-- | drivers/net/wireless/bcm4329/dhd_sdio.c | 10 |
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; |