summaryrefslogtreecommitdiff
path: root/package/kernel/mac80211/patches/915-wlcore-decrease-warning-verbosity-during-recovery.patch
diff options
context:
space:
mode:
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.patch42
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);