[PATCH v4 0/3] Bluetooth: btmtk: fix ISO data reception
From: Chris Lu
Date: Wed Oct 21 2026 - 23:23:28 EST
Two fixes for btmtk_recv_isopkt(), found while debugging LE Audio on
MT7925, plus an update to the ISO data transmission setting. The function
is shared by every MediaTek USB controller that supports ISO data, so none
of this is specific to that part.
Patch 1 drops the zero padding that the ISO interrupt IN endpoint appends
to each transfer instead of parsing it as ISO packets.
Patch 2 bounds Data_Total_Length by hdev->iso_mtu.
Patch 3 updates the mt79xx ISO data transmission setting.
The three hunks do not overlap, so any prefix of the series applies on its
own.
Changes in v4:
- Patch 1: check for the endpoint's zero-filled padding before starting
to parse a new frame, rather than after assembling a 4-byte header.
Otherwise a zero-filled remainder shorter than an ISO header (1-3
bytes) would be held across calls as a partial header and corrupt the
next transfer's framing. This also avoids allocating and immediately
freeing an skb for a fully zero-filled remainder.
- Patch 2, 3: unchanged.
Changes in v3:
- Patch 1: instead of dropping a packet solely because Data_Total_Length
is zero, also confirm that the rest of the transfer is zero-filled
before treating it as padding.
- Patch 2, 3: unchanged.
Changes in v2:
- Patch 2 reworked and retitled.
- Patch 3 added.
Based on bluetooth-next.
Chris Lu (3):
Bluetooth: btmtk: drop zero-length ISO packets from endpoint padding
Bluetooth: btmtk: bound the ISO payload length by the controller's MTU
Bluetooth: btmtk: derive the firmware ISO setting from
MTK_ISO_THRESHOLD
drivers/bluetooth/btmtk.c | 44 ++++++++++++++++++++++++++++++++++-----
1 file changed, 39 insertions(+), 5 deletions(-)
--
2.45.2