diff options
author | Rebecca Schultz Zavin <rebecca@android.com> | 2010-08-27 18:40:49 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2010-09-29 17:49:46 -0700 |
commit | b4a89b9b9ad67234f7764cb53a6922da38775e08 (patch) | |
tree | 965956658444a3836532c240901e44872439a477 | |
parent | b8fc65dc90828c99472ba20e4cf4c217fe2ed20a (diff) |
Revert "net: wireless: bcm4329: Fix HW_OOB interrupt processing"
This reverts commit 8bd035daa820dc5612ae311262c71dc133871046.
-rw-r--r-- | drivers/net/wireless/bcm4329/Makefile | 2 | ||||
-rw-r--r-- | drivers/net/wireless/bcm4329/bcmsdh_linux.c | 24 | ||||
-rw-r--r-- | drivers/net/wireless/bcm4329/bcmsdh_sdmmc.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/bcm4329/dhd_sdio.c | 4 |
4 files changed, 10 insertions, 22 deletions
diff --git a/drivers/net/wireless/bcm4329/Makefile b/drivers/net/wireless/bcm4329/Makefile index 594fa304754c..af6ca5c27c0d 100644 --- a/drivers/net/wireless/bcm4329/Makefile +++ b/drivers/net/wireless/bcm4329/Makefile @@ -6,7 +6,7 @@ DHDCFLAGS = -DLINUX -DBCMDRIVER -DBCMDONGLEHOST -DDHDTHREAD -DBCMWPA2 \ -Wall -Wstrict-prototypes -Werror -DOOB_INTR_ONLY -DCUSTOMER_HW2 \ -DDHD_USE_STATIC_BUF -DMMC_SDIO_ABORT -DDHD_DEBUG_TRAP -DSOFTAP \ -DEMBEDDED_PLATFORM -DARP_OFFLOAD_SUPPORT \ - -DGET_CUSTOM_MAC_ENABLE -DSET_RANDOM_MAC_SOFTAP -DCSCAN -DHW_OOB \ + -DGET_CUSTOM_MAC_ENABLE -DSET_RANDOM_MAC_SOFTAP -DCSCAN \ -Idrivers/net/wireless/bcm4329 -Idrivers/net/wireless/bcm4329/include DHDOFILES = dhd_linux.o linux_osl.o bcmutils.o dhd_common.o dhd_custom_gpio.o \ diff --git a/drivers/net/wireless/bcm4329/bcmsdh_linux.c b/drivers/net/wireless/bcm4329/bcmsdh_linux.c index e58a62014f5a..910b6d0afdcf 100644 --- a/drivers/net/wireless/bcm4329/bcmsdh_linux.c +++ b/drivers/net/wireless/bcm4329/bcmsdh_linux.c @@ -570,28 +570,14 @@ bcmsdh_unregister(void) } #if defined(OOB_INTR_ONLY) -void bcmsdh_oob_intr_set(bool enable) -{ - static bool curstate = 1; - - if (curstate != enable) { - if (enable) - enable_irq(sdhcinfo->oob_irq); - else - disable_irq_nosync(sdhcinfo->oob_irq); - curstate = enable; - } -} - static irqreturn_t wlan_oob_irq(int irq, void *dev_id) { dhd_pub_t *dhdp; dhdp = (dhd_pub_t *)dev_get_drvdata(sdhcinfo->dev); - bcmsdh_oob_intr_set(0); - if (dhdp == NULL) { + disable_irq(sdhcinfo->oob_irq); SDLX_MSG(("Out of band GPIO interrupt fired way too early\n")); return IRQ_HANDLED; } @@ -632,6 +618,14 @@ void bcmsdh_unregister_oob_intr(void) free_irq(sdhcinfo->oob_irq, NULL); sdhcinfo->oob_irq_registered = FALSE; } + +void bcmsdh_oob_intr_set(bool enable) +{ + if (enable) + enable_irq(sdhcinfo->oob_irq); + else + disable_irq(sdhcinfo->oob_irq); +} #endif /* defined(OOB_INTR_ONLY) */ /* Module parameters specific to each host-controller driver */ diff --git a/drivers/net/wireless/bcm4329/bcmsdh_sdmmc.c b/drivers/net/wireless/bcm4329/bcmsdh_sdmmc.c index 5a3ca3d11893..48d3f3775f0e 100644 --- a/drivers/net/wireless/bcm4329/bcmsdh_sdmmc.c +++ b/drivers/net/wireless/bcm4329/bcmsdh_sdmmc.c @@ -676,8 +676,6 @@ sdioh_enable_hw_oob_intr(sdioh_info_t *sd, bool enable) else data = 4; /* disable hw oob interrupt */ - data |= 4; /* Active HIGH */ - status = sdioh_request_byte(sd, SDIOH_WRITE, 0, 0xf2, &data); return status; } diff --git a/drivers/net/wireless/bcm4329/dhd_sdio.c b/drivers/net/wireless/bcm4329/dhd_sdio.c index 8bdadb3fc1db..94a17d713f79 100644 --- a/drivers/net/wireless/bcm4329/dhd_sdio.c +++ b/drivers/net/wireless/bcm4329/dhd_sdio.c @@ -4154,9 +4154,6 @@ dhdsdio_dpc(dhd_bus_t *bus) if (newstatus) { W_SDREG(newstatus, ®s->intstatus, retries); bus->f1regdata++; -#if defined(OOB_INTR_ONLY) - bcmsdh_oob_intr_set(1); -#endif } } @@ -4221,7 +4218,6 @@ dhdsdio_dpc(dhd_bus_t *bus) bus->intstatus = intstatus; clkwait: - /* Re-enable interrupts to detect new device events (mailbox, rx frame) * or clock availability. (Allows tx loop to check ipend if desired.) * (Unless register access seems hosed, as we may not be able to ACK...) |