diff options
Diffstat (limited to 'package/kernel/mac80211/patches/915-wlcore-decrease-warning-verbosity-during-recovery.patch')
-rw-r--r-- | package/kernel/mac80211/patches/915-wlcore-decrease-warning-verbosity-during-recovery.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/915-wlcore-decrease-warning-verbosity-during-recovery.patch b/package/kernel/mac80211/patches/915-wlcore-decrease-warning-verbosity-during-recovery.patch new file mode 100644 index 0000000000..be2de10ccf --- /dev/null +++ b/package/kernel/mac80211/patches/915-wlcore-decrease-warning-verbosity-during-recovery.patch @@ -0,0 +1,42 @@ +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> + +--- +drivers/net/wireless/ti/wlcore/cmd.c | 4 ++-- + drivers/net/wireless/ti/wlcore/main.c | 5 +++-- + 2 files changed, 5 insertions(+), 4 deletions(-) + +--- 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 wl12 + 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; +--- a/drivers/net/wireless/ti/wlcore/main.c ++++ b/drivers/net/wireless/ti/wlcore/main.c +@@ -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); |