From: Chris Lu <chris.lu@mediatek.com>
To: Marcel Holtmann <marcel@holtmann.org>,
Johan Hedberg <johan.hedberg@gmail.com>,
Luiz Von Dentz <luiz.dentz@gmail.com>
Cc: Sean Wang <sean.wang@mediatek.com>,
Will Lee <will-cy.Lee@mediatek.com>, SS Wu <ss.wu@mediatek.com>,
linux-bluetooth <linux-bluetooth@vger.kernel.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
linux-mediatek <linux-mediatek@lists.infradead.org>,
Chris Lu <chris.lu@mediatek.com>
Subject: [PATCH v2 0/3] Bluetooth: btmtk: firmware debug event routing and WMT FUNC_CTRL status fixes
Date: Mon, 14 Sep 2026 14:56:51 +0800 [thread overview]
Message-ID: <20260914065654.102916-1-chris.lu@mediatek.com> (raw)
This series bundles three independent MediaTek Bluetooth driver fixes:
Patch 1 is a resend of a fix submitted on 25 Aug 2026
("Bluetooth: btmtk: Route firmware debug event to the diag channel")
that received no review feedback at the time.
Patches 2-3 fix how btmtk_usb_hci_wmt_sync() (and its btmtksdio.c /
btmtkuart.c counterparts) interpret a WMT FUNC_CTRL event that carries
only the WMT header and no trailing 2-byte status word. Such an event
is a normal firmware ack for a plain enable/disable request, with the
result carried in the header's own flag byte, not a failure as the
current code assumes:
- Patch 2 fixes this for btmtk.c, where a bounds check already
existed (added by e3ac0d9f1a20) but defaulted to the wrong
result.
- Patch 3 applies the same fix to btmtksdio.c and btmtkuart.c, which
never had a bounds check for this event at all and read 2 bytes
past the end of the received SKB whenever firmware sent the short
form. While there, it also adds the missing base WMT header length
check that btmtk.c already has (skb_pull_data() before touching
wmt_evt->whdr.op), since these two files were unconditionally
dereferencing that field with no length validation at all.
Changes since v1:
- Patch 1: review asked whether the exact match on the ACL handle
(0x2efd) could miss a continuation fragment (0x1efd) if the
firmware debug event ever spans multiple ACL packets. Confirmed
with MTK internally that this event's wire format is fixed at a
single ACL_START packet, so a comment was added above the switch
in both btmtk.c and btmtksdio.c explaining that HCI fragmentation
does not apply to this handle (and the other vendor-reserved ones
already handled there).
- Patches 2, 3: no changes.
Chris Lu (3):
Bluetooth: btmtk: Route firmware debug event to the diag channel
Bluetooth: btmtk: fix wrong status for short WMT FUNC_CTRL events
Bluetooth: btmtksdio, btmtkuart: validate WMT event length before
struct access
drivers/bluetooth/btmtk.c | 15 ++++++++++++++-
drivers/bluetooth/btmtksdio.c | 28 +++++++++++++++++++++++++++-
drivers/bluetooth/btmtkuart.c | 20 +++++++++++++++++++-
3 files changed, 60 insertions(+), 3 deletions(-)
--
2.45.2
next reply other threads:[~2026-09-14 6:57 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-14 6:56 Chris Lu [this message]
2026-09-14 6:56 ` [PATCH v2 1/3] Bluetooth: btmtk: Route firmware debug event to the diag channel Chris Lu
2026-09-14 6:56 ` [PATCH v2 2/3] Bluetooth: btmtk: fix wrong status for short WMT FUNC_CTRL events Chris Lu
2026-09-14 6:56 ` [PATCH v2 3/3] Bluetooth: btmtksdio, btmtkuart: validate WMT event length before struct access Chris Lu
2026-09-14 14:30 ` [PATCH v2 0/3] Bluetooth: btmtk: firmware debug event routing and WMT FUNC_CTRL status fixes patchwork-bot+bluetooth
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=20260914065654.102916-1-chris.lu@mediatek.com \
--to=chris.lu@mediatek.com \
--cc=johan.hedberg@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=luiz.dentz@gmail.com \
--cc=marcel@holtmann.org \
--cc=sean.wang@mediatek.com \
--cc=ss.wu@mediatek.com \
--cc=will-cy.Lee@mediatek.com \
/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
all inboxes | Powered by JetHome®