From 54bcfc239bb98b6ebd0055d6254380bb22c67e7a Mon Sep 17 00:00:00 2001 From: Ido Yariv Date: Wed, 15 Aug 2012 15:09:30 +0300 Subject: [PATCH] --- yaml --- r: 328350 b: refs/heads/master c: 792a58a8720f02c8f340583f6ee54c9eb46adf0b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/ti/wlcore/main.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index b6ac21b1dede..aa49ab61f56d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1defbeb0426b5ca6280369b8fa89f0170420ff40 +refs/heads/master: 792a58a8720f02c8f340583f6ee54c9eb46adf0b diff --git a/trunk/drivers/net/wireless/ti/wlcore/main.c b/trunk/drivers/net/wireless/ti/wlcore/main.c index 7b825e8c1a9b..3f5d87e95d92 100644 --- a/trunk/drivers/net/wireless/ti/wlcore/main.c +++ b/trunk/drivers/net/wireless/ti/wlcore/main.c @@ -775,8 +775,9 @@ void wl12xx_queue_recovery_work(struct wl1271 *wl) WARN_ON(!test_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags)); /* Avoid a recursive recovery */ - if (!test_and_set_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags)) { + if (wl->state == WLCORE_STATE_ON) { wl->state = WLCORE_STATE_RESTARTING; + set_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags); wlcore_disable_interrupts_nosync(wl); ieee80211_queue_work(wl->hw, &wl->recovery_work); }