diff options
author | Ido Yariv <ido@wizery.com> | 2011-06-06 07:57:05 -0400 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2011-06-27 08:05:15 -0400 |
commit | baacb9aed020b890ddf6a57837a169092a25fc9b (patch) | |
tree | a961d0ce3773f29b419f97715863fea151f3ecf4 /drivers/net/wireless/wl12xx/cmd.c | |
parent | 842f1a6c71551ac10fbdff4a4e65821228df9ea7 (diff) |
wl12xx: Avoid recovery while one is already in progress
During recovery work commands sent to the FW could fail and schedule
additional recovery work. Since the chip is going to be powered off,
avoid recursive recoveries.
Signed-off-by: Ido Yariv <ido@wizery.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/cmd.c')
-rw-r--r-- | drivers/net/wireless/wl12xx/cmd.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/wl12xx/cmd.c b/drivers/net/wireless/wl12xx/cmd.c index cdcb324093a5..f3d332d11f81 100644 --- a/drivers/net/wireless/wl12xx/cmd.c +++ b/drivers/net/wireless/wl12xx/cmd.c | |||
@@ -105,7 +105,7 @@ int wl1271_cmd_send(struct wl1271 *wl, u16 id, void *buf, size_t len, | |||
105 | 105 | ||
106 | fail: | 106 | fail: |
107 | WARN_ON(1); | 107 | WARN_ON(1); |
108 | ieee80211_queue_work(wl->hw, &wl->recovery_work); | 108 | wl12xx_queue_recovery_work(wl); |
109 | return ret; | 109 | return ret; |
110 | } | 110 | } |
111 | 111 | ||
@@ -356,7 +356,7 @@ static int wl1271_cmd_wait_for_event(struct wl1271 *wl, u32 mask) | |||
356 | 356 | ||
357 | ret = wl1271_cmd_wait_for_event_or_timeout(wl, mask); | 357 | ret = wl1271_cmd_wait_for_event_or_timeout(wl, mask); |
358 | if (ret != 0) { | 358 | if (ret != 0) { |
359 | ieee80211_queue_work(wl->hw, &wl->recovery_work); | 359 | wl12xx_queue_recovery_work(wl); |
360 | return ret; | 360 | return ret; |
361 | } | 361 | } |
362 | 362 | ||