From 88557185112dafbfba0053e9b5229125a97f5154 Mon Sep 17 00:00:00 2001 From: Markus Fritsche 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 --- 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 {