diff --git a/package/kernel/ath10k-ct/patches/999-01-disable-noise-mac_flush.patch b/package/kernel/ath10k-ct/patches/999-01-disable-noise-mac_flush.patch new file mode 100644 index 0000000000..905a8951df --- /dev/null +++ b/package/kernel/ath10k-ct/patches/999-01-disable-noise-mac_flush.patch @@ -0,0 +1,321 @@ +--- a/ath10k-4.13/mac.c ++++ b/ath10k-4.13/mac.c +@@ -7501,8 +7501,6 @@ static void ath10k_flush(struct ieee8021 + vid = arvif->vdev_id; + } + +- ath10k_dbg(ar, ATH10K_DBG_MAC, "mac flush vdev %d drop %d queues 0x%x\n", +- arvif ? arvif->vdev_id : -1, drop, queues); + + /* mac80211 doesn't care if we really xmit queued frames or not + * we'll collect those frames either way if we stop/delete vdevs +--- a/ath10k-4.16/mac.c ++++ b/ath10k-4.16/mac.c +@@ -7681,8 +7681,6 @@ static void ath10k_flush(struct ieee8021 + vid = arvif->vdev_id; + } + +- ath10k_dbg(ar, ATH10K_DBG_MAC, "mac flush vdev %d drop %d queues 0x%x\n", +- arvif ? arvif->vdev_id : -1, drop, queues); + + /* mac80211 doesn't care if we really xmit queued frames or not + * we'll collect those frames either way if we stop/delete vdevs +--- a/ath10k-4.19/mac.c ++++ b/ath10k-4.19/mac.c +@@ -7822,8 +7822,6 @@ static void ath10k_flush(struct ieee8021 + vid = arvif->vdev_id; + } + +- ath10k_dbg(ar, ATH10K_DBG_MAC, "mac flush vdev %d drop %d queues 0x%x\n", +- vid, drop, queues); + + /* mac80211 doesn't care if we really xmit queued frames or not + * we'll collect those frames either way if we stop/delete vdevs +--- a/ath10k-4.20/mac.c ++++ b/ath10k-4.20/mac.c +@@ -7936,12 +7936,6 @@ static void ath10k_flush(struct ieee8021 + if (vif) { + arvif = (void *)vif->drv_priv; + vid = arvif->vdev_id; +- ath10k_info(ar, "mac flush vdev %d drop %d queues 0x%x ar->paused: 0x%lx arvif->paused: 0x%lx\n", +- arvif->vdev_id, drop, queues, ar->tx_paused, arvif->tx_paused); +- } +- else { +- ath10k_info(ar, "mac flush null vif, drop %d queues 0x%x\n", +- drop, queues); + } + + +--- a/ath10k-4.4/mac.c ++++ b/ath10k-4.4/mac.c +@@ -7007,8 +7007,6 @@ static void ath10k_flush(struct ieee8021 + vid = arvif->vdev_id; + } + +- ath10k_dbg(ar, ATH10K_DBG_MAC, "mac flush vdev %d drop %d queues 0x%x\n", +- arvif ? arvif->vdev_id : -1, drop, queues); + + /* mac80211 doesn't care if we really xmit queued frames or not + * we'll collect those frames either way if we stop/delete vdevs */ +--- a/ath10k-4.9/mac.c ++++ b/ath10k-4.9/mac.c +@@ -7399,8 +7399,6 @@ static void ath10k_flush(struct ieee8021 + vid = arvif->vdev_id; + } + +- ath10k_dbg(ar, ATH10K_DBG_MAC, "mac flush vdev %d drop %d queues 0x%x\n", +- arvif ? arvif->vdev_id : -1, drop, queues); + + /* mac80211 doesn't care if we really xmit queued frames or not + * we'll collect those frames either way if we stop/delete vdevs */ +--- a/ath10k-5.10/mac.c ++++ b/ath10k-5.10/mac.c +@@ -8859,12 +8859,6 @@ static void ath10k_flush(struct ieee8021 + if (vif) { + arvif = (void *)vif->drv_priv; + vid = arvif->vdev_id; +- ath10k_info(ar, "mac flush vdev %d drop %d queues 0x%x ar->paused: 0x%lx arvif->paused: 0x%lx\n", +- arvif->vdev_id, drop, queues, ar->tx_paused, arvif->tx_paused); +- } +- else { +- ath10k_info(ar, "mac flush null vif, drop %d queues 0x%x\n", +- drop, queues); + } + + +--- a/ath10k-5.11/mac.c ++++ b/ath10k-5.11/mac.c +@@ -8859,12 +8859,6 @@ static void ath10k_flush(struct ieee8021 + if (vif) { + arvif = (void *)vif->drv_priv; + vid = arvif->vdev_id; +- ath10k_info(ar, "mac flush vdev %d drop %d queues 0x%x ar->paused: 0x%lx arvif->paused: 0x%lx\n", +- arvif->vdev_id, drop, queues, ar->tx_paused, arvif->tx_paused); +- } +- else { +- ath10k_info(ar, "mac flush null vif, drop %d queues 0x%x\n", +- drop, queues); + } + + +--- a/ath10k-5.12/mac.c ++++ b/ath10k-5.12/mac.c +@@ -8967,12 +8967,6 @@ static void ath10k_flush(struct ieee8021 + if (vif) { + arvif = (void *)vif->drv_priv; + vid = arvif->vdev_id; +- ath10k_info(ar, "mac flush vdev %d drop %d queues 0x%x ar->paused: 0x%lx arvif->paused: 0x%lx\n", +- arvif->vdev_id, drop, queues, ar->tx_paused, arvif->tx_paused); +- } +- else { +- ath10k_info(ar, "mac flush null vif, drop %d queues 0x%x\n", +- drop, queues); + } + + +--- a/ath10k-5.13/mac.c ++++ b/ath10k-5.13/mac.c +@@ -8970,12 +8970,6 @@ static void ath10k_flush(struct ieee8021 + if (vif) { + arvif = (void *)vif->drv_priv; + vid = arvif->vdev_id; +- ath10k_info(ar, "mac flush vdev %d drop %d queues 0x%x ar->paused: 0x%lx arvif->paused: 0x%lx\n", +- arvif->vdev_id, drop, queues, ar->tx_paused, arvif->tx_paused); +- } +- else { +- ath10k_info(ar, "mac flush null vif, drop %d queues 0x%x\n", +- drop, queues); + } + + +--- a/ath10k-5.15/mac.c ++++ b/ath10k-5.15/mac.c +@@ -8993,12 +8993,6 @@ static void ath10k_flush(struct ieee8021 + if (vif) { + arvif = (void *)vif->drv_priv; + vid = arvif->vdev_id; +- ath10k_info(ar, "mac flush vdev %d drop %d queues 0x%x ar->paused: 0x%lx arvif->paused: 0x%lx\n", +- arvif->vdev_id, drop, queues, ar->tx_paused, arvif->tx_paused); +- } +- else { +- ath10k_info(ar, "mac flush null vif, drop %d queues 0x%x\n", +- drop, queues); + } + + +--- a/ath10k-5.17/mac.c ++++ b/ath10k-5.17/mac.c +@@ -9010,12 +9010,6 @@ static void ath10k_flush(struct ieee8021 + if (vif) { + arvif = (void *)vif->drv_priv; + vid = arvif->vdev_id; +- ath10k_info(ar, "mac flush vdev %d drop %d queues 0x%x ar->paused: 0x%lx arvif->paused: 0x%lx\n", +- arvif->vdev_id, drop, queues, ar->tx_paused, arvif->tx_paused); +- } +- else { +- ath10k_info(ar, "mac flush null vif, drop %d queues 0x%x\n", +- drop, queues); + } + + +--- a/ath10k-5.19/mac.c ++++ b/ath10k-5.19/mac.c +@@ -9020,12 +9020,6 @@ static void ath10k_flush(struct ieee8021 + if (vif) { + arvif = (void *)vif->drv_priv; + vid = arvif->vdev_id; +- ath10k_info(ar, "mac flush vdev %d drop %d queues 0x%x ar->paused: 0x%lx arvif->paused: 0x%lx\n", +- arvif->vdev_id, drop, queues, ar->tx_paused, arvif->tx_paused); +- } +- else { +- ath10k_info(ar, "mac flush null vif, drop %d queues 0x%x\n", +- drop, queues); + } + + +--- a/ath10k-5.2/mac.c ++++ b/ath10k-5.2/mac.c +@@ -7996,12 +7996,6 @@ static void ath10k_flush(struct ieee8021 + if (vif) { + arvif = (void *)vif->drv_priv; + vid = arvif->vdev_id; +- ath10k_info(ar, "mac flush vdev %d drop %d queues 0x%x ar->paused: 0x%lx arvif->paused: 0x%lx\n", +- arvif->vdev_id, drop, queues, ar->tx_paused, arvif->tx_paused); +- } +- else { +- ath10k_info(ar, "mac flush null vif, drop %d queues 0x%x\n", +- drop, queues); + } + + +--- a/ath10k-5.4/mac.c ++++ b/ath10k-5.4/mac.c +@@ -8117,12 +8117,6 @@ static void ath10k_flush(struct ieee8021 + if (vif) { + arvif = (void *)vif->drv_priv; + vid = arvif->vdev_id; +- ath10k_info(ar, "mac flush vdev %d drop %d queues 0x%x ar->paused: 0x%lx arvif->paused: 0x%lx\n", +- arvif->vdev_id, drop, queues, ar->tx_paused, arvif->tx_paused); +- } +- else { +- ath10k_info(ar, "mac flush null vif, drop %d queues 0x%x\n", +- drop, queues); + } + + +--- a/ath10k-5.7/mac.c ++++ b/ath10k-5.7/mac.c +@@ -8181,12 +8181,6 @@ static void ath10k_flush(struct ieee8021 + if (vif) { + arvif = (void *)vif->drv_priv; + vid = arvif->vdev_id; +- ath10k_info(ar, "mac flush vdev %d drop %d queues 0x%x ar->paused: 0x%lx arvif->paused: 0x%lx\n", +- arvif->vdev_id, drop, queues, ar->tx_paused, arvif->tx_paused); +- } +- else { +- ath10k_info(ar, "mac flush null vif, drop %d queues 0x%x\n", +- drop, queues); + } + + +--- a/ath10k-5.8/mac.c ++++ b/ath10k-5.8/mac.c +@@ -8207,12 +8207,6 @@ static void ath10k_flush(struct ieee8021 + if (vif) { + arvif = (void *)vif->drv_priv; + vid = arvif->vdev_id; +- ath10k_info(ar, "mac flush vdev %d drop %d queues 0x%x ar->paused: 0x%lx arvif->paused: 0x%lx\n", +- arvif->vdev_id, drop, queues, ar->tx_paused, arvif->tx_paused); +- } +- else { +- ath10k_info(ar, "mac flush null vif, drop %d queues 0x%x\n", +- drop, queues); + } + + +--- a/ath10k-6.2/mac.c ++++ b/ath10k-6.2/mac.c +@@ -9056,12 +9056,6 @@ static void ath10k_flush(struct ieee8021 + if (vif) { + arvif = (void *)vif->drv_priv; + vid = arvif->vdev_id; +- ath10k_info(ar, "mac flush vdev %d drop %d queues 0x%x ar->paused: 0x%lx arvif->paused: 0x%lx\n", +- arvif->vdev_id, drop, queues, ar->tx_paused, arvif->tx_paused); +- } +- else { +- ath10k_info(ar, "mac flush null vif, drop %d queues 0x%x\n", +- drop, queues); + } + + +--- a/ath10k-6.4/mac.c ++++ b/ath10k-6.4/mac.c +@@ -9055,12 +9055,6 @@ static void ath10k_flush(struct ieee8021 + if (vif) { + arvif = (void *)vif->drv_priv; + vid = arvif->vdev_id; +- ath10k_info(ar, "mac flush vdev %d drop %d queues 0x%x ar->paused: 0x%lx arvif->paused: 0x%lx\n", +- arvif->vdev_id, drop, queues, ar->tx_paused, arvif->tx_paused); +- } +- else { +- ath10k_info(ar, "mac flush null vif, drop %d queues 0x%x\n", +- drop, queues); + } + + +--- a/ath10k-6.7/mac.c ++++ b/ath10k-6.7/mac.c +@@ -9054,12 +9054,6 @@ static void ath10k_flush(struct ieee8021 + if (vif) { + arvif = (void *)vif->drv_priv; + vid = arvif->vdev_id; +- ath10k_info(ar, "mac flush vdev %d drop %d queues 0x%x ar->paused: 0x%lx arvif->paused: 0x%lx\n", +- arvif->vdev_id, drop, queues, ar->tx_paused, arvif->tx_paused); +- } +- else { +- ath10k_info(ar, "mac flush null vif, drop %d queues 0x%x\n", +- drop, queues); + } + + +--- a/ath10k-6.9/mac.c ++++ b/ath10k-6.9/mac.c +@@ -9059,12 +9059,6 @@ static void ath10k_flush(struct ieee8021 + if (vif) { + arvif = (void *)vif->drv_priv; + vid = arvif->vdev_id; +- ath10k_info(ar, "mac flush vdev %d drop %d queues 0x%x ar->paused: 0x%lx arvif->paused: 0x%lx\n", +- arvif->vdev_id, drop, queues, ar->tx_paused, arvif->tx_paused); +- } +- else { +- ath10k_info(ar, "mac flush null vif, drop %d queues 0x%x\n", +- drop, queues); + } + + +--- a/ath10k-6.10/mac.c ++++ b/ath10k-6.10/mac.c +@@ -9060,12 +9060,6 @@ static void ath10k_flush(struct ieee8021 + if (vif) { + arvif = (void *)vif->drv_priv; + vid = arvif->vdev_id; +- ath10k_info(ar, "mac flush vdev %d drop %d queues 0x%x ar->paused: 0x%lx arvif->paused: 0x%lx\n", +- arvif->vdev_id, drop, queues, ar->tx_paused, arvif->tx_paused); +- } +- else { +- ath10k_info(ar, "mac flush null vif, drop %d queues 0x%x\n", +- drop, queues); + } + + +--- a/ath10k/mac.c ++++ b/ath10k/mac.c +@@ -7145,8 +7145,6 @@ static void ath10k_flush(struct ieee8021 + vid = arvif->vdev_id; + } + +- ath10k_dbg(ar, ATH10K_DBG_MAC, "mac flush vdev %d drop %d queues 0x%x\n", +- arvif ? arvif->vdev_id : -1, drop, queues); + + /* mac80211 doesn't care if we really xmit queued frames or not + * we'll collect those frames either way if we stop/delete vdevs */ diff --git a/package/kernel/ath10k-ct/patches/999-02-disable-noise-Invalid_peer_id_or_peer_stats_buffer.patch b/package/kernel/ath10k-ct/patches/999-02-disable-noise-Invalid_peer_id_or_peer_stats_buffer.patch new file mode 100644 index 0000000000..19ffd8718d --- /dev/null +++ b/package/kernel/ath10k-ct/patches/999-02-disable-noise-Invalid_peer_id_or_peer_stats_buffer.patch @@ -0,0 +1,517 @@ +--- a/ath10k-4.13/htt_rx.c ++++ b/ath10k-4.13/htt_rx.c +@@ -2499,8 +2499,6 @@ static void ath10k_htt_fetch_peer_stats( + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + goto out; + } + +--- a/ath10k-4.16/htt_rx.c ++++ b/ath10k-4.16/htt_rx.c +@@ -2730,8 +2730,6 @@ static void ath10k_htt_fetch_peer_stats( + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + goto out; + } + +@@ -2783,8 +2781,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + +--- a/ath10k-4.19/htt_rx.c ++++ b/ath10k-4.19/htt_rx.c +@@ -2969,15 +2969,8 @@ static void ath10k_htt_fetch_peer_stats( + if (!peer || !peer->sta) { + static bool done_once = false; + if (!done_once) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + done_once = true; + } +- else { +- ath10k_dbg(ar, ATH10K_DBG_HTT, +- "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); +- } + goto out; + } + +@@ -3029,8 +3022,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + +--- a/ath10k-4.20/htt_rx.c ++++ b/ath10k-4.20/htt_rx.c +@@ -3139,15 +3139,8 @@ static void ath10k_htt_fetch_peer_stats( + if (!peer || !peer->sta) { + static bool done_once = false; + if (!done_once) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + done_once = true; + } +- else { +- ath10k_dbg(ar, ATH10K_DBG_HTT, +- "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); +- } + goto out; + } + +@@ -3199,8 +3192,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + +--- a/ath10k-5.10/htt_rx.c ++++ b/ath10k-5.10/htt_rx.c +@@ -4113,15 +4113,8 @@ static void ath10k_htt_fetch_peer_stats( + if (!peer || !peer->sta) { + static bool done_once = false; + if (!done_once) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + done_once = true; + } +- else { +- ath10k_dbg(ar, ATH10K_DBG_HTT, +- "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); +- } + goto out; + } + +@@ -4174,8 +4167,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + +--- a/ath10k-5.11/htt_rx.c ++++ b/ath10k-5.11/htt_rx.c +@@ -3933,15 +3933,8 @@ static void ath10k_htt_fetch_peer_stats( + if (!peer || !peer->sta) { + static bool done_once = false; + if (!done_once) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + done_once = true; + } +- else { +- ath10k_dbg(ar, ATH10K_DBG_HTT, +- "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); +- } + goto out; + } + +@@ -3994,8 +3987,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + +--- a/ath10k-5.12/htt_rx.c ++++ b/ath10k-5.12/htt_rx.c +@@ -4114,15 +4114,8 @@ static void ath10k_htt_fetch_peer_stats( + if (!peer || !peer->sta) { + static bool done_once = false; + if (!done_once) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + done_once = true; + } +- else { +- ath10k_dbg(ar, ATH10K_DBG_HTT, +- "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); +- } + goto out; + } + +@@ -4175,8 +4168,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + +--- a/ath10k-5.13/htt_rx.c ++++ b/ath10k-5.13/htt_rx.c +@@ -4114,15 +4114,8 @@ static void ath10k_htt_fetch_peer_stats( + if (!peer || !peer->sta) { + static bool done_once = false; + if (!done_once) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + done_once = true; + } +- else { +- ath10k_dbg(ar, ATH10K_DBG_HTT, +- "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); +- } + goto out; + } + +@@ -4175,8 +4168,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + +--- a/ath10k-5.15/htt_rx.c ++++ b/ath10k-5.15/htt_rx.c +@@ -4112,15 +4112,8 @@ static void ath10k_htt_fetch_peer_stats( + if (!peer || !peer->sta) { + static bool done_once = false; + if (!done_once) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + done_once = true; + } +- else { +- ath10k_dbg(ar, ATH10K_DBG_HTT, +- "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); +- } + goto out; + } + +@@ -4173,8 +4166,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + +--- a/ath10k-5.17/htt_rx.c ++++ b/ath10k-5.17/htt_rx.c +@@ -4122,15 +4122,8 @@ static void ath10k_htt_fetch_peer_stats( + if (!peer || !peer->sta) { + static bool done_once = false; + if (!done_once) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + done_once = true; + } +- else { +- ath10k_dbg(ar, ATH10K_DBG_HTT, +- "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); +- } + goto out; + } + +@@ -4183,8 +4176,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + +--- a/ath10k-5.19/htt_rx.c ++++ b/ath10k-5.19/htt_rx.c +@@ -4246,15 +4246,8 @@ static void ath10k_htt_fetch_peer_stats( + if (!peer || !peer->sta) { + static bool done_once = false; + if (!done_once) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + done_once = true; + } +- else { +- ath10k_dbg(ar, ATH10K_DBG_HTT, +- "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); +- } + goto out; + } + +@@ -4307,8 +4300,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + +--- a/ath10k-5.2/htt_rx.c ++++ b/ath10k-5.2/htt_rx.c +@@ -3492,15 +3492,8 @@ static void ath10k_htt_fetch_peer_stats( + if (!peer || !peer->sta) { + static bool done_once = false; + if (!done_once) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + done_once = true; + } +- else { +- ath10k_dbg(ar, ATH10K_DBG_HTT, +- "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); +- } + goto out; + } + +@@ -3553,8 +3546,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + +--- a/ath10k-5.4/htt_rx.c ++++ b/ath10k-5.4/htt_rx.c +@@ -4099,15 +4099,8 @@ static void ath10k_htt_fetch_peer_stats( + if (!peer || !peer->sta) { + static bool done_once = false; + if (!done_once) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + done_once = true; + } +- else { +- ath10k_dbg(ar, ATH10K_DBG_HTT, +- "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); +- } + goto out; + } + +@@ -4160,8 +4153,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + +--- a/ath10k-5.7/htt_rx.c ++++ b/ath10k-5.7/htt_rx.c +@@ -3909,15 +3909,8 @@ static void ath10k_htt_fetch_peer_stats( + if (!peer || !peer->sta) { + static bool done_once = false; + if (!done_once) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + done_once = true; + } +- else { +- ath10k_dbg(ar, ATH10K_DBG_HTT, +- "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); +- } + goto out; + } + +@@ -3970,8 +3963,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + +--- a/ath10k-5.8/htt_rx.c ++++ b/ath10k-5.8/htt_rx.c +@@ -3916,15 +3916,8 @@ static void ath10k_htt_fetch_peer_stats( + if (!peer || !peer->sta) { + static bool done_once = false; + if (!done_once) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + done_once = true; + } +- else { +- ath10k_dbg(ar, ATH10K_DBG_HTT, +- "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); +- } + goto out; + } + +@@ -3977,8 +3970,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + +--- a/ath10k-6.2/htt_rx.c ++++ b/ath10k-6.2/htt_rx.c +@@ -4251,15 +4251,8 @@ static void ath10k_htt_fetch_peer_stats( + if (!peer || !peer->sta) { + static bool done_once = false; + if (!done_once) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + done_once = true; + } +- else { +- ath10k_dbg(ar, ATH10K_DBG_HTT, +- "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); +- } + goto out; + } + +@@ -4312,8 +4305,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + +--- a/ath10k-6.4/htt_rx.c ++++ b/ath10k-6.4/htt_rx.c +@@ -4251,15 +4251,8 @@ static void ath10k_htt_fetch_peer_stats( + if (!peer || !peer->sta) { + static bool done_once = false; + if (!done_once) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + done_once = true; + } +- else { +- ath10k_dbg(ar, ATH10K_DBG_HTT, +- "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); +- } + goto out; + } + +@@ -4312,8 +4305,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + +--- a/ath10k-6.7/htt_rx.c ++++ b/ath10k-6.7/htt_rx.c +@@ -4250,15 +4250,8 @@ static void ath10k_htt_fetch_peer_stats( + if (!peer || !peer->sta) { + static bool done_once = false; + if (!done_once) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + done_once = true; + } +- else { +- ath10k_dbg(ar, ATH10K_DBG_HTT, +- "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); +- } + goto out; + } + +@@ -4311,8 +4304,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + +--- a/ath10k-6.9/htt_rx.c ++++ b/ath10k-6.9/htt_rx.c +@@ -4251,15 +4251,8 @@ static void ath10k_htt_fetch_peer_stats( + if (!peer || !peer->sta) { + static bool done_once = false; + if (!done_once) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + done_once = true; + } +- else { +- ath10k_dbg(ar, ATH10K_DBG_HTT, +- "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); +- } + goto out; + } + +@@ -4312,8 +4305,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + +--- a/ath10k-6.10/htt_rx.c ++++ b/ath10k-6.10/htt_rx.c +@@ -4251,15 +4251,8 @@ static void ath10k_htt_fetch_peer_stats( + if (!peer || !peer->sta) { + static bool done_once = false; + if (!done_once) { +- ath10k_warn(ar, "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); + done_once = true; + } +- else { +- ath10k_dbg(ar, ATH10K_DBG_HTT, +- "Invalid peer id %d or peer stats buffer, peer: %p sta: %p\n", +- peer_id, peer, peer ? peer->sta : NULL); +- } + goto out; + } + +@@ -4312,8 +4305,6 @@ static void ath10k_fetch_10_2_tx_stats(s + spin_lock_bh(&ar->data_lock); + peer = ath10k_peer_find_by_id(ar, peer_id); + if (!peer || !peer->sta) { +- ath10k_warn(ar, "Invalid peer id %d in peer stats buffer\n", +- peer_id); + goto out; + } + diff --git a/package/kernel/ath10k-ct/patches/999-03-disable-noise-invalid_VHT_TX.patch b/package/kernel/ath10k-ct/patches/999-03-disable-noise-invalid_VHT_TX.patch new file mode 100644 index 0000000000..2eeb355e22 --- /dev/null +++ b/package/kernel/ath10k-ct/patches/999-03-disable-noise-invalid_VHT_TX.patch @@ -0,0 +1,512 @@ +--- a/ath10k-4.19/htt_rx.c ++++ b/ath10k-4.19/htt_rx.c +@@ -2135,7 +2135,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx, wave-1-ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -2229,7 +2228,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx, ack-rssi-filled: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -2246,7 +2244,6 @@ do_generic: + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +--- a/ath10k-4.19/wmi.c ++++ b/ath10k-4.19/wmi.c +@@ -6049,7 +6049,6 @@ static void ath10k_wmi_event_beacon_tx(s + + /* workaround for possibly firmware bug */ + if (unlikely(ev->tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n"); + ev->tx_rate_code = 0; + } + +--- a/ath10k-4.20/htt_rx.c ++++ b/ath10k-4.20/htt_rx.c +@@ -2189,7 +2189,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -2283,7 +2282,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +--- a/ath10k-4.20/wmi.c ++++ b/ath10k-4.20/wmi.c +@@ -6108,7 +6108,6 @@ static void ath10k_wmi_event_beacon_tx(s + + /* workaround for possibly firmware bug */ + if (unlikely(ev->tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n"); + ev->tx_rate_code = 0; + } + +--- a/ath10k-5.10/htt_rx.c ++++ b/ath10k-5.10/htt_rx.c +@@ -3026,7 +3026,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -3120,7 +3119,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +--- a/ath10k-5.10/wmi.c ++++ b/ath10k-5.10/wmi.c +@@ -6329,7 +6329,6 @@ static void ath10k_wmi_event_beacon_tx(s + + /* workaround for possibly firmware bug */ + if (unlikely(ev->tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n"); + ev->tx_rate_code = 0; + } + +--- a/ath10k-5.11/htt_rx.c ++++ b/ath10k-5.11/htt_rx.c +@@ -2846,7 +2846,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -2940,7 +2939,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +--- a/ath10k-5.11/wmi.c ++++ b/ath10k-5.11/wmi.c +@@ -6329,7 +6329,6 @@ static void ath10k_wmi_event_beacon_tx(s + + /* workaround for possibly firmware bug */ + if (unlikely(ev->tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n"); + ev->tx_rate_code = 0; + } + +--- a/ath10k-5.12/htt_rx.c ++++ b/ath10k-5.12/htt_rx.c +@@ -3027,7 +3027,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -3121,7 +3120,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +--- a/ath10k-5.12/wmi.c ++++ b/ath10k-5.12/wmi.c +@@ -6329,7 +6329,6 @@ static void ath10k_wmi_event_beacon_tx(s + + /* workaround for possibly firmware bug */ + if (unlikely(ev->tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n"); + ev->tx_rate_code = 0; + } + +--- a/ath10k-5.13/htt_rx.c ++++ b/ath10k-5.13/htt_rx.c +@@ -3027,7 +3027,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -3121,7 +3120,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +--- a/ath10k-5.13/wmi.c ++++ b/ath10k-5.13/wmi.c +@@ -6329,7 +6329,6 @@ static void ath10k_wmi_event_beacon_tx(s + + /* workaround for possibly firmware bug */ + if (unlikely(ev->tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n"); + ev->tx_rate_code = 0; + } + +--- a/ath10k-5.15/htt_rx.c ++++ b/ath10k-5.15/htt_rx.c +@@ -3025,7 +3025,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -3119,7 +3118,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +--- a/ath10k-5.15/wmi.c ++++ b/ath10k-5.15/wmi.c +@@ -6333,7 +6333,6 @@ static void ath10k_wmi_event_beacon_tx(s + + /* workaround for possibly firmware bug */ + if (unlikely(ev->tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n"); + ev->tx_rate_code = 0; + } + +--- a/ath10k-5.17/htt_rx.c ++++ b/ath10k-5.17/htt_rx.c +@@ -3035,7 +3035,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -3129,7 +3128,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +--- a/ath10k-5.17/wmi.c ++++ b/ath10k-5.17/wmi.c +@@ -6358,7 +6358,6 @@ static void ath10k_wmi_event_beacon_tx(s + + /* workaround for possibly firmware bug */ + if (unlikely(ev->tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n"); + ev->tx_rate_code = 0; + } + +--- a/ath10k-5.19/htt_rx.c ++++ b/ath10k-5.19/htt_rx.c +@@ -3150,7 +3150,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -3244,7 +3243,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +--- a/ath10k-5.19/wmi.c ++++ b/ath10k-5.19/wmi.c +@@ -6358,7 +6358,6 @@ static void ath10k_wmi_event_beacon_tx(s + + /* workaround for possibly firmware bug */ + if (unlikely(ev->tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n"); + ev->tx_rate_code = 0; + } + +--- a/ath10k-5.2/htt_rx.c ++++ b/ath10k-5.2/htt_rx.c +@@ -2411,7 +2411,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -2505,7 +2504,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +--- a/ath10k-5.2/wmi.c ++++ b/ath10k-5.2/wmi.c +@@ -6224,7 +6224,6 @@ static void ath10k_wmi_event_beacon_tx(s + + /* workaround for possibly firmware bug */ + if (unlikely(ev->tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n"); + ev->tx_rate_code = 0; + } + +--- a/ath10k-5.4/htt_rx.c ++++ b/ath10k-5.4/htt_rx.c +@@ -3018,7 +3018,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -3112,7 +3111,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +--- a/ath10k-5.4/wmi.c ++++ b/ath10k-5.4/wmi.c +@@ -6242,7 +6242,6 @@ static void ath10k_wmi_event_beacon_tx(s + + /* workaround for possibly firmware bug */ + if (unlikely(ev->tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n"); + ev->tx_rate_code = 0; + } + +--- a/ath10k-5.7/htt_rx.c ++++ b/ath10k-5.7/htt_rx.c +@@ -2831,7 +2831,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -2925,7 +2924,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +--- a/ath10k-5.7/wmi.c ++++ b/ath10k-5.7/wmi.c +@@ -6294,7 +6294,6 @@ static void ath10k_wmi_event_beacon_tx(s + + /* workaround for possibly firmware bug */ + if (unlikely(ev->tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n"); + ev->tx_rate_code = 0; + } + +--- a/ath10k-5.8/htt_rx.c ++++ b/ath10k-5.8/htt_rx.c +@@ -2831,7 +2831,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -2925,7 +2924,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +--- a/ath10k-5.8/wmi.c ++++ b/ath10k-5.8/wmi.c +@@ -6323,7 +6323,6 @@ static void ath10k_wmi_event_beacon_tx(s + + /* workaround for possibly firmware bug */ + if (unlikely(ev->tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n"); + ev->tx_rate_code = 0; + } + +--- a/ath10k-6.2/htt_rx.c ++++ b/ath10k-6.2/htt_rx.c +@@ -3151,7 +3151,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -3245,7 +3244,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +--- a/ath10k-6.2/wmi.c ++++ b/ath10k-6.2/wmi.c +@@ -6366,7 +6366,6 @@ static void ath10k_wmi_event_beacon_tx(s + + /* workaround for possibly firmware bug */ + if (unlikely(ev->tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n"); + ev->tx_rate_code = 0; + } + +--- a/ath10k-6.4/htt_rx.c ++++ b/ath10k-6.4/htt_rx.c +@@ -3151,7 +3151,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -3245,7 +3244,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +--- a/ath10k-6.7/htt_rx.c ++++ b/ath10k-6.7/htt_rx.c +@@ -3150,7 +3150,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -3244,7 +3243,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +--- a/ath10k-6.9/htt_rx.c ++++ b/ath10k-6.9/htt_rx.c +@@ -3151,7 +3151,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -3245,7 +3244,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +--- a/ath10k-6.10/htt_rx.c ++++ b/ath10k-6.10/htt_rx.c +@@ -3151,7 +3151,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +@@ -3245,7 +3244,6 @@ static void ath10k_htt_rx_tx_compl_ind(s + + /* workaround for possibly firmware bug */ + if (unlikely(tx_done.tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "htt tx: fixing invalid VHT TX rate code 0xff\n"); + tx_done.tx_rate_code = 0; + } + +--- a/ath10k-6.4/wmi.c ++++ b/ath10k-6.4/wmi.c +@@ -6358,7 +6358,6 @@ static void ath10k_wmi_event_beacon_tx(s + + /* workaround for possibly firmware bug */ + if (unlikely(ev->tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n"); + ev->tx_rate_code = 0; + } + +--- a/ath10k-6.7/wmi.c ++++ b/ath10k-6.7/wmi.c +@@ -6366,7 +6366,6 @@ static void ath10k_wmi_event_beacon_tx(s + + /* workaround for possibly firmware bug */ + if (unlikely(ev->tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n"); + ev->tx_rate_code = 0; + } + +--- a/ath10k-6.9/wmi.c ++++ b/ath10k-6.9/wmi.c +@@ -6387,7 +6387,6 @@ static void ath10k_wmi_event_beacon_tx(s + + /* workaround for possibly firmware bug */ + if (unlikely(ev->tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n"); + ev->tx_rate_code = 0; + } + +--- a/ath10k-6.10/wmi.c ++++ b/ath10k-6.10/wmi.c +@@ -6387,7 +6387,6 @@ static void ath10k_wmi_event_beacon_tx(s + + /* workaround for possibly firmware bug */ + if (unlikely(ev->tx_rate_code == ATH10K_CT_TX_BEACON_INVALID_RATE_CODE)) { +- dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n"); + ev->tx_rate_code = 0; + } + diff --git a/package/kernel/ath10k-ct/patches/999-04-disable-noise-Invalid-VHT-mcs-peer-stats.patch b/package/kernel/ath10k-ct/patches/999-04-disable-noise-Invalid-VHT-mcs-peer-stats.patch new file mode 100644 index 0000000000..ae3968a95c --- /dev/null +++ b/package/kernel/ath10k-ct/patches/999-04-disable-noise-Invalid-VHT-mcs-peer-stats.patch @@ -0,0 +1,30 @@ +--- a/ath10k-6.10/htt_rx.c ++++ b/ath10k-6.10/htt_rx.c +@@ -4102,7 +4102,6 @@ ath10k_update_per_peer_tx_stats(struct a + if (txrate.flags == WMI_RATE_PREAMBLE_VHT && txrate.mcs > 9) { + static bool done_once = 0; + if (!done_once) { +- ath10k_warn(ar, "Invalid VHT mcs %hhd peer stats", txrate.mcs); + done_once = true; + } + else { +--- a/ath10k-6.7/htt_rx.c ++++ b/ath10k-6.7/htt_rx.c +@@ -4101,7 +4101,6 @@ ath10k_update_per_peer_tx_stats(struct a + if (txrate.flags == WMI_RATE_PREAMBLE_VHT && txrate.mcs > 9) { + static bool done_once = 0; + if (!done_once) { +- ath10k_warn(ar, "Invalid VHT mcs %hhd peer stats", txrate.mcs); + done_once = true; + } + else { +--- a/ath10k-6.9/htt_rx.c ++++ b/ath10k-6.9/htt_rx.c +@@ -4102,7 +4102,6 @@ ath10k_update_per_peer_tx_stats(struct a + if (txrate.flags == WMI_RATE_PREAMBLE_VHT && txrate.mcs > 9) { + static bool done_once = 0; + if (!done_once) { +- ath10k_warn(ar, "Invalid VHT mcs %hhd peer stats", txrate.mcs); + done_once = true; + } + else {