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>
This commit is contained in:
Arik Nemtsov 2014-02-10 13:47:31 +02:00 committed by John W. Linville
parent 41ed1a787c
commit 1ede950073
2 changed files with 5 additions and 4 deletions

View 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;

View File

@ -782,10 +782,11 @@ static int wl12xx_fetch_firmware(struct wl1271 *wl, bool plt)
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);