diff options
author | Dmitry Shmidt <dimitrysh@google.com> | 2011-03-09 16:52:08 -0800 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2011-06-14 09:09:55 -0700 |
commit | b2e3b46441fba367bb7774e59d3c6a766347f30e (patch) | |
tree | 7eeb651a6efdf8a9e662172c33b09dbc94aeb274 /drivers/net/wireless/bcm4329/dhd_sdio.c | |
parent | 43f3dc8f5cab19d2baeb3d8d4d6fc01e2d19c337 (diff) | |
download | kernel_samsung_tuna-b2e3b46441fba367bb7774e59d3c6a766347f30e.zip kernel_samsung_tuna-b2e3b46441fba367bb7774e59d3c6a766347f30e.tar.gz kernel_samsung_tuna-b2e3b46441fba367bb7774e59d3c6a766347f30e.tar.bz2 |
net: wireless: bcm4329: Disable wake irq at driver stop
Previously at driver stop interrupts were not disabled and
might cause never-ending waking up
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'drivers/net/wireless/bcm4329/dhd_sdio.c')
-rw-r--r-- | drivers/net/wireless/bcm4329/dhd_sdio.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/wireless/bcm4329/dhd_sdio.c b/drivers/net/wireless/bcm4329/dhd_sdio.c index f9b9ece..1380dd3 100644 --- a/drivers/net/wireless/bcm4329/dhd_sdio.c +++ b/drivers/net/wireless/bcm4329/dhd_sdio.c @@ -146,6 +146,8 @@ DHD_SPINWAIT_SLEEP_INIT(sdioh_spinwait_sleep); extern int dhdcdc_set_ioctl(dhd_pub_t *dhd, int ifidx, uint cmd, void *buf, uint len); +extern void bcmsdh_set_irq(int flag); + #ifdef DHD_DEBUG /* Device console log buffer state */ typedef struct dhd_console { @@ -5749,7 +5751,9 @@ dhd_bus_devreset(dhd_pub_t *dhdp, uint8 flag) /* Expect app to have torn down any connection before calling */ /* Stop the bus, disable F2 */ dhd_bus_stop(bus, FALSE); - +#if defined(OOB_INTR_ONLY) + bcmsdh_set_irq(FALSE); +#endif /* defined(OOB_INTR_ONLY) */ /* Clean tx/rx buffer pointers, detach from the dongle */ dhdsdio_release_dongle(bus, bus->dhd->osh, TRUE); @@ -5785,6 +5789,7 @@ dhd_bus_devreset(dhd_pub_t *dhdp, uint8 flag) bcmerror = dhd_bus_init((dhd_pub_t *) bus->dhd, FALSE); if (bcmerror == BCME_OK) { #if defined(OOB_INTR_ONLY) + bcmsdh_set_irq(TRUE); dhd_enable_oob_intr(bus, TRUE); #endif /* defined(OOB_INTR_ONLY) */ bus->dhd->dongle_reset = FALSE; |