[PATCH v4 0/3] Bluetooth: btmtk: fix ISO data reception

Chris Lu chris.lu at mediatek.com
Wed Oct 21 20:21:47 PDT 2026


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




More information about the Linux-mediatek mailing list