wlcore: decrease warning verbosity during recovery
authorArik Nemtsov <arik@wizery.com>
Mon, 10 Feb 2014 11:47:31 +0000 (13:47 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 13 Feb 2014 20:20:16 +0000 (15:20 -0500)
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>
drivers/net/wireless/ti/wlcore/cmd.c
drivers/net/wireless/ti/wlcore/main.c

index 3463a67d1c0d1713a0033bd58f2bd8f3a92d8470..40dc30f4faaab2b2be20c724abe54c7807f0871a 100644 (file)
@@ -60,8 +60,8 @@ static int __wlcore_cmd_send(struct wl1271 *wl, u16 id, void *buf,
        u16 status;
        u16 poll_count = 0;
 
-       if (WARN_ON(wl->state == WLCORE_STATE_RESTARTING &&
-                   id != CMD_STOP_FWLOGGER))
+       if (unlikely(wl->state == WLCORE_STATE_RESTARTING &&
+                    id != CMD_STOP_FWLOGGER))
                return -EIO;
 
        cmd = buf;
index 8106c96fe6b77e16b028714f5553a722f331f58e..a2348b951738d4380ab3eef5b864cc0c846f3384 100644 (file)
@@ -782,10 +782,11 @@ out:
 
 void wl12xx_queue_recovery_work(struct wl1271 *wl)
 {
-       WARN_ON(!test_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags));
-
        /* Avoid a recursive recovery */
        if (wl->state == WLCORE_STATE_ON) {
+               WARN_ON(!test_bit(WL1271_FLAG_INTENDED_FW_RECOVERY,
+                                 &wl->flags));
+
                wl->state = WLCORE_STATE_RESTARTING;
                set_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags);
                wl1271_ps_elp_wakeup(wl);