aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ti/wlcore
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2014-02-10 06:47:31 -0500
committerJohn W. Linville <linville@tuxdriver.com>2014-02-13 15:20:16 -0500
commit1ede95007371c27729383c8977e04abf63874ea8 (patch)
tree8b6d835d26676edc684972b9d5827ef947db610d /drivers/net/wireless/ti/wlcore
parent41ed1a787c4940d58d5870c633ab6291dd4679dd (diff)
wlcore: decrease warning verbosity during recovery
Silently ignore repetitive scheduling of recovery work and commands being passed to the bus when the HW is not available. This can happen many times during recovery and slow it down. It also spams the kernel logs. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ti/wlcore')
-rw-r--r--drivers/net/wireless/ti/wlcore/cmd.c4
-rw-r--r--drivers/net/wireless/ti/wlcore/main.c5
2 files changed, 5 insertions, 4 deletions
diff --git a/drivers/net/wireless/ti/wlcore/cmd.c b/drivers/net/wireless/ti/wlcore/cmd.c
index 3463a67d1c0d..40dc30f4faaa 100644
--- a/drivers/net/wireless/ti/wlcore/cmd.c
+++ b/drivers/net/wireless/ti/wlcore/cmd.c
@@ -60,8 +60,8 @@ static int __wlcore_cmd_send(struct wl1271 *wl, u16 id, void *buf,
60 u16 status; 60 u16 status;
61 u16 poll_count = 0; 61 u16 poll_count = 0;
62 62
63 if (WARN_ON(wl->state == WLCORE_STATE_RESTARTING && 63 if (unlikely(wl->state == WLCORE_STATE_RESTARTING &&
64 id != CMD_STOP_FWLOGGER)) 64 id != CMD_STOP_FWLOGGER))
65 return -EIO; 65 return -EIO;
66 66
67 cmd = buf; 67 cmd = buf;
diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c
index 8106c96fe6b7..a2348b951738 100644
--- a/drivers/net/wireless/ti/wlcore/main.c
+++ b/drivers/net/wireless/ti/wlcore/main.c
@@ -782,10 +782,11 @@ out:
782 782
783void wl12xx_queue_recovery_work(struct wl1271 *wl) 783void wl12xx_queue_recovery_work(struct wl1271 *wl)
784{ 784{
785 WARN_ON(!test_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags));
786
787 /* Avoid a recursive recovery */ 785 /* Avoid a recursive recovery */
788 if (wl->state == WLCORE_STATE_ON) { 786 if (wl->state == WLCORE_STATE_ON) {
787 WARN_ON(!test_bit(WL1271_FLAG_INTENDED_FW_RECOVERY,
788 &wl->flags));
789
789 wl->state = WLCORE_STATE_RESTARTING; 790 wl->state = WLCORE_STATE_RESTARTING;
790 set_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags); 791 set_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags);
791 wl1271_ps_elp_wakeup(wl); 792 wl1271_ps_elp_wakeup(wl);