From: Andrei-Alexandru Bleortu <me@andrei-z.com>
To: Jeff Johnson <jjohnson@kernel.org>
Cc: <ath11k@lists.infradead.org>, <linux-kernel@vger.kernel.org>,
<linux-wireless@vger.kernel.org>
Subject: [PATCH] wifi: ath11k: handle HTT PPDU ID format indication
Date: Fri, 2 Oct 2026 15:19:14 +0300 [thread overview]
Message-ID: <20261002121914.994458-1-me@andrei-z.com> (raw)
Firmware from WLAN.HK 2.8 onwards sends HTT_T2H_PPDU_ID_FMT_IND (0x30)
once per radio at bring-up. It describes how the firmware packs a PPDU
ID: for each field (HW scheduler command id, ring, sequence index,
link, command type, TQM command, MAC id and CRC) whether it is present,
its width and its bit offset.
ath11k only ever compares PPDU IDs and never decodes them, so it has no
use for this layout, but the unknown message type ends up in the
default case and logs
htt event 48 not handled
at warning level on every boot. Add the message type and dump the
message at the ATH11K_DBG_DP_HTT debug level instead.
Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.9.0.1-02146-QCAHKSWPL_SILICONZ-1
Assisted-by: LLM
Signed-off-by: Andrei-Alexandru Bleortu <me@andrei-z.com>
---
Found and fixed with an AI coding assistant (Claude Code), which also
drafted this changelog. Tested on a Ubiquiti UniFi U6 Enterprise
(IPQ5018 + 2x QCN9074) running 7.2.8 with the OpenWrt backports ath11k:
the warning is gone from both QCN9074 radios. On ath-next the patch is
compile-tested (W=1) only.
drivers/net/wireless/ath/ath11k/dp.h | 1 +
drivers/net/wireless/ath/ath11k/dp_rx.c | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/drivers/net/wireless/ath/ath11k/dp.h b/drivers/net/wireless/ath/ath11k/dp.h
index 84f66839f0c6..bace81c453e1 100644
--- a/drivers/net/wireless/ath/ath11k/dp.h
+++ b/drivers/net/wireless/ath/ath11k/dp.h
@@ -1033,6 +1033,7 @@ enum htt_t2h_msg_type {
HTT_T2H_MSG_TYPE_PPDU_STATS_IND = 0x1d,
HTT_T2H_MSG_TYPE_EXT_STATS_CONF = 0x1c,
HTT_T2H_MSG_TYPE_BKPRESSURE_EVENT_IND = 0x24,
+ HTT_T2H_MSG_TYPE_PPDU_ID_FMT_IND = 0x30,
};
#define HTT_TARGET_VERSION_MAJOR 3
diff --git a/drivers/net/wireless/ath/ath11k/dp_rx.c b/drivers/net/wireless/ath/ath11k/dp_rx.c
index 6d95f7b343a5..a22cf1b9f43a 100644
--- a/drivers/net/wireless/ath/ath11k/dp_rx.c
+++ b/drivers/net/wireless/ath/ath11k/dp_rx.c
@@ -1747,6 +1747,11 @@ void ath11k_dp_htt_htc_t2h_msg_handler(struct ath11k_base *ab,
case HTT_T2H_MSG_TYPE_BKPRESSURE_EVENT_IND:
ath11k_htt_backpressure_event_handler(ab, skb);
break;
+ case HTT_T2H_MSG_TYPE_PPDU_ID_FMT_IND:
+ /* The bit layout of the firmware's PPDU IDs; ath11k only compares them. */
+ ath11k_dbg_dump(ab, ATH11K_DBG_DP_HTT, NULL, "htt ppdu id format: ",
+ skb->data, skb->len);
+ break;
default:
ath11k_warn(ab, "htt event %d not handled\n", type);
break;
--
2.47.3
reply other threads:[~2026-10-02 12:28 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261002121914.994458-1-me@andrei-z.com \
--to=me@andrei-z.com \
--cc=ath11k@lists.infradead.org \
--cc=jjohnson@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox