diff options
author | Rebecca Schultz Zavin <rebecca@android.com> | 2010-09-29 22:53:58 -0700 |
---|---|---|
committer | Rebecca Schultz Zavin <rebecca@android.com> | 2010-09-29 22:54:08 -0700 |
commit | cb1b5e11d53a885c1f847248fb6daa66643e8ba6 (patch) | |
tree | f0f653adebc70757b63208877c1a1872e7cfc03c | |
parent | 5c1607e92792e40c38c59c35bb9f8c6e80d6b0c8 (diff) | |
parent | 66c87b4cab42419fa76cec691dbc7c59a9e73366 (diff) | |
download | tegra-cb1b5e11d53a885c1f847248fb6daa66643e8ba6.tar.gz |
Merge commit 'common/android-2.6.35' into android-tegra-2.6.35
Change-Id: Iebee2c492fa144bea150cd2b7ae35066bbf67bbf
-rw-r--r-- | drivers/net/wireless/bcm4329/dhd_linux.c | 12 | ||||
-rw-r--r-- | drivers/net/wireless/bcm4329/dhd_sdio.c | 4 | ||||
-rw-r--r-- | lib/Kconfig.debug | 3 |
3 files changed, 11 insertions, 8 deletions
diff --git a/drivers/net/wireless/bcm4329/dhd_linux.c b/drivers/net/wireless/bcm4329/dhd_linux.c index 2eff4693d176..f687b31e3338 100644 --- a/drivers/net/wireless/bcm4329/dhd_linux.c +++ b/drivers/net/wireless/bcm4329/dhd_linux.c @@ -1379,7 +1379,6 @@ dhd_watchdog_thread(void *data) /* Run until signal received */ while (1) { if (down_interruptible (&dhd->watchdog_sem) == 0) { - dhd_os_wake_lock(&dhd->pub); if (dhd->pub.dongle_reset == FALSE) { /* Call the bus module watchdog */ @@ -1387,6 +1386,11 @@ dhd_watchdog_thread(void *data) } /* Count the tick for reference */ dhd->pub.tickcnt++; + + /* Reschedule the watchdog */ + if (dhd->wd_timer_valid) + mod_timer(&dhd->timer, jiffies + dhd_watchdog_ms * HZ / 1000); + dhd_os_wake_unlock(&dhd->pub); } else @@ -1404,12 +1408,6 @@ dhd_watchdog(ulong data) dhd_os_wake_lock(&dhd->pub); if (dhd->watchdog_pid >= 0) { up(&dhd->watchdog_sem); - - /* Reschedule the watchdog */ - if (dhd->wd_timer_valid) { - mod_timer(&dhd->timer, jiffies + dhd_watchdog_ms * HZ / 1000); - } - dhd_os_wake_unlock(&dhd->pub); return; } diff --git a/drivers/net/wireless/bcm4329/dhd_sdio.c b/drivers/net/wireless/bcm4329/dhd_sdio.c index bd735568e2ae..176d6e86e764 100644 --- a/drivers/net/wireless/bcm4329/dhd_sdio.c +++ b/drivers/net/wireless/bcm4329/dhd_sdio.c @@ -5808,6 +5808,8 @@ dhd_bus_devreset(dhd_pub_t *dhdp, uint8 flag) dhd_os_proto_unblock(dhdp); /* Expect app to have torn down any connection before calling */ /* Stop the bus, disable F2 */ + dhd_os_sdlock(dhdp); + dhd_bus_stop(bus, FALSE); /* Clean tx/rx buffer pointers, detach from the dongle */ @@ -5816,6 +5818,8 @@ dhd_bus_devreset(dhd_pub_t *dhdp, uint8 flag) bus->dhd->dongle_reset = TRUE; bus->dhd->up = FALSE; + dhd_os_sdunlock(dhdp); + DHD_TRACE(("%s: WLAN OFF DONE\n", __FUNCTION__)); /* App can now remove power from device */ } else diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index e722e9d62221..4c6f1f0665ff 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -587,8 +587,9 @@ config DEBUG_LOCKING_API_SELFTESTS mutexes and rwsems. config STACKTRACE - bool + bool "Stacktrace" depends on STACKTRACE_SUPPORT + default y config DEBUG_KOBJECT bool "kobject debugging" |