summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBarak Bercovitz <barak@wizery.com>2013-08-13 19:28:19 +0400
committerArik Nemtsov <arik@wizery.com>2013-08-13 23:29:10 +0400
commite611d18893fbd66f6c303e111955d8a732fd0c34 (patch)
tree86fad619e53d5bfce1c234d7943b01de6d846100
parentba80cb92c88bb7c66fa22c65d39ab065eb1eee7d (diff)
downloadwl18xx-e611d18893fbd66f6c303e111955d8a732fd0c34.tar.xz
wlcore: wakeup from ELP before starting recoveryol_r8.a7.02
Make sure the FW is awake when entering recovery. This is useful for reading the FW panic log and also some FW registers giving us crash report stats. We must do this before interrupts are disabled since we rely on an interrupt to complete the wakeup. If the wakeup fails, continue recovery normally. All read/writes will be blocked and won't do any harm. Signed-off-by: Barak Bercovitz <barak@wizery.com>
-rw-r--r--drivers/net/wireless/ti/wlcore/main.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c
index 2eb1872be10..7f7e66d7d8a 100644
--- a/drivers/net/wireless/ti/wlcore/main.c
+++ b/drivers/net/wireless/ti/wlcore/main.c
@@ -806,6 +806,7 @@ void wl12xx_queue_recovery_work(struct wl1271 *wl)
if (wl->state == WLCORE_STATE_ON) {
wl->state = WLCORE_STATE_RESTARTING;
set_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags);
+ wl1271_ps_elp_wakeup(wl);
wlcore_disable_interrupts_nosync(wl);
#ifdef CONFIG_HAS_WAKELOCK
/* give us a grace period for recovery */