patches: add pm-timeout-silence (c2.1)
Demote 'wait pm ind timeout' from bes_err() to bes_devel() in bes2600_pwr_enter_lp_mode(). The cascade this used to warn about is already suppressed by c2 (pm-gate-on-handshake); the remaining log line is benign steady-state noise (3-9 events per 10-min uptime on PineTab2). Deployed + verified on ohm (srcversion ED89A26…): err-priority count 0, WiFi associated, no regression. 1-line patch.
This commit is contained in:
+53
@@ -0,0 +1,53 @@
|
||||
From ab9e0ad6b4bbb1196c448ed000c8c152b0f04683 Mon Sep 17 00:00:00 2001
|
||||
From: Markus Fritsche <fritsche.markus@gmail.com>
|
||||
Date: Thu, 23 Apr 2026 20:35:17 +0200
|
||||
Subject: [PATCH] bes2600: demote 'wait pm ind timeout' from bes_err to
|
||||
bes_devel
|
||||
|
||||
bes2600_pwr_enter_lp_mode() logs 'wait pm ind timeout' at bes_err
|
||||
level every time wait_for_completion_timeout() on the firmware's
|
||||
PM-change indication returns 0. The preceding patch ('bes2600:
|
||||
gate device LP-mode entry on successful per-VIF firmware
|
||||
handshake') already handles this case correctly: the per-VIF
|
||||
timeouts counter is incremented, the function returns
|
||||
-ETIMEDOUT, and the device-side LP transition is skipped -- the
|
||||
cascade into sdio_tx_work splats and [RX] Receive failure
|
||||
messages is prevented.
|
||||
|
||||
The timeout itself is benign steady-state noise on the PineTab2
|
||||
(BES2600WM). Firmware occasionally misses the 5 s PM-change
|
||||
deadline when mac80211 flips power-save rapidly during
|
||||
association or roaming; observed rate on a quiet, associated
|
||||
ohm is roughly 3-10 events per 10 min of uptime, with no
|
||||
user-visible effect. Keeping it at bes_err() level (== KERN_ERR,
|
||||
priority 3) floods dmesg with what is already a handled
|
||||
condition and makes real SDIO / PM errors harder to spot.
|
||||
|
||||
Demote to bes_devel() (== KERN_DEBUG gated on the driver's debug
|
||||
flag). The gate in the caller is unchanged, so the downstream
|
||||
suppression behaviour introduced by the earlier patch remains.
|
||||
Real pathologies -- bes_err("set operation mode fail") on the
|
||||
same path, and the timeouts != 0 / -ETIMEDOUT return consumed
|
||||
by callers -- still surface at bes_err() / return-value level.
|
||||
|
||||
Signed-off-by: Markus Fritsche <fritsche.markus@gmail.com>
|
||||
---
|
||||
bes2600/bes_pwr.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/staging/bes2600/bes_pwr.c b/drivers/staging/bes2600/bes_pwr.c
|
||||
index f62ae22..474b6f1 100644
|
||||
--- a/drivers/staging/bes2600/bes_pwr.c
|
||||
+++ b/drivers/staging/bes2600/bes_pwr.c
|
||||
@@ -538,7 +538,7 @@ static int bes2600_pwr_enter_lp_mode(struct bes2600_common *hw_priv)
|
||||
atomic_set(&hw_priv->bes_power.pm_set_in_process, 0);
|
||||
reinit_completion(&hw_priv->bes_power.pm_enter_cmpl);
|
||||
if (!status) {
|
||||
- bes_err("%s, wait pm ind timeout\n", __func__);
|
||||
+ bes_devel("%s, wait pm ind timeout\n", __func__);
|
||||
timeouts++;
|
||||
}
|
||||
} else {
|
||||
--
|
||||
2.53.0
|
||||
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
From ab9e0ad6b4bbb1196c448ed000c8c152b0f04683 Mon Sep 17 00:00:00 2001
|
||||
From: Markus Fritsche <fritsche.markus@gmail.com>
|
||||
Date: Thu, 23 Apr 2026 20:35:17 +0200
|
||||
Subject: [PATCH] bes2600: demote 'wait pm ind timeout' from bes_err to
|
||||
bes_devel
|
||||
|
||||
bes2600_pwr_enter_lp_mode() logs 'wait pm ind timeout' at bes_err
|
||||
level every time wait_for_completion_timeout() on the firmware's
|
||||
PM-change indication returns 0. The preceding patch ('bes2600:
|
||||
gate device LP-mode entry on successful per-VIF firmware
|
||||
handshake') already handles this case correctly: the per-VIF
|
||||
timeouts counter is incremented, the function returns
|
||||
-ETIMEDOUT, and the device-side LP transition is skipped -- the
|
||||
cascade into sdio_tx_work splats and [RX] Receive failure
|
||||
messages is prevented.
|
||||
|
||||
The timeout itself is benign steady-state noise on the PineTab2
|
||||
(BES2600WM). Firmware occasionally misses the 5 s PM-change
|
||||
deadline when mac80211 flips power-save rapidly during
|
||||
association or roaming; observed rate on a quiet, associated
|
||||
ohm is roughly 3-10 events per 10 min of uptime, with no
|
||||
user-visible effect. Keeping it at bes_err() level (== KERN_ERR,
|
||||
priority 3) floods dmesg with what is already a handled
|
||||
condition and makes real SDIO / PM errors harder to spot.
|
||||
|
||||
Demote to bes_devel() (== KERN_DEBUG gated on the driver's debug
|
||||
flag). The gate in the caller is unchanged, so the downstream
|
||||
suppression behaviour introduced by the earlier patch remains.
|
||||
Real pathologies -- bes_err("set operation mode fail") on the
|
||||
same path, and the timeouts != 0 / -ETIMEDOUT return consumed
|
||||
by callers -- still surface at bes_err() / return-value level.
|
||||
|
||||
Signed-off-by: Markus Fritsche <fritsche.markus@gmail.com>
|
||||
---
|
||||
bes2600/bes_pwr.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/bes2600/bes_pwr.c b/bes2600/bes_pwr.c
|
||||
index f62ae22..474b6f1 100644
|
||||
--- a/bes2600/bes_pwr.c
|
||||
+++ b/bes2600/bes_pwr.c
|
||||
@@ -538,7 +538,7 @@ static int bes2600_pwr_enter_lp_mode(struct bes2600_common *hw_priv)
|
||||
atomic_set(&hw_priv->bes_power.pm_set_in_process, 0);
|
||||
reinit_completion(&hw_priv->bes_power.pm_enter_cmpl);
|
||||
if (!status) {
|
||||
- bes_err("%s, wait pm ind timeout\n", __func__);
|
||||
+ bes_devel("%s, wait pm ind timeout\n", __func__);
|
||||
timeouts++;
|
||||
}
|
||||
} else {
|
||||
--
|
||||
2.53.0
|
||||
|
||||
Reference in New Issue
Block a user