[PATCH wireless-next] wifi: iwlwifi: mvm: demote "Unhandled alg" warning to debug
From: Tobias Klausmann
Date: Thu Jun 25 2026 - 08:25:54 EST
The RX crypto paths emit an IWL_WARN "Unhandled alg" whenever a frame
arrives that the firmware did not decrypt. This is expected and benign
(e.g. multicast frames received before the GTK is installed), is not
actionable, and floods the kernel log.
Keep the diagnostic but move it from IWL_WARN to the driver's existing
debug facility under the IWL_DL_DROP class, so it is silent by default
and can be re-enabled at runtime via the debug_level bitmask. The
multi-queue path uses IWL_DEBUG_DROP_LIMIT, which provides the same
rate limiting the open-coded net_ratelimit() check did.
Signed-off-by: Tobias Klausmann <klausman@xxxxxxxxxxxxxxx>
---
drivers/net/wireless/intel/iwlwifi/mvm/rx.c | 3 ++-
drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 5 +++--
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rx.c b/drivers/net/wireless/intel/iwlwifi/mvm/rx.c
index d0c0faae0122..8b037e52eae3 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/rx.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/rx.c
@@ -190,7 +190,8 @@ static u32 iwl_mvm_set_mac80211_rx_flag(struct iwl_mvm *mvm,
default:
/* Expected in monitor (not having the keys) */
if (!mvm->monitor_on)
- IWL_WARN(mvm, "Unhandled alg: 0x%x\n", rx_pkt_status);
+ IWL_DEBUG_DROP(mvm, "Unhandled alg: 0x%x\n",
+ rx_pkt_status);
}
return 0;
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
index 7f0b4f5daa21..4eded44a104e 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
@@ -504,8 +504,9 @@ static int iwl_mvm_rx_crypto(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
* Also drop un-decrypted frames in monitor mode.
*/
if (!is_multicast_ether_addr(hdr->addr1) &&
- !mvm->monitor_on && net_ratelimit())
- IWL_WARN(mvm, "Unhandled alg: 0x%x\n", status);
+ !mvm->monitor_on)
+ IWL_DEBUG_DROP_LIMIT(mvm, "Unhandled alg: 0x%x\n",
+ status);
}
return 0;
--
2.53.0