Skip to content

Commit 289ebee

Browse files
NeerajSanjayKalejfvogel
authored andcommitted
Bluetooth: btnxpuart: Fix glitches seen in dual A2DP streaming
[ Upstream commit 7de119b ] This fixes a regression caused by previous commit for fixing truncated ACL data, which is causing some intermittent glitches when running two A2DP streams. serdev_device_write_buf() is the root cause of the glitch, which is reverted, and the TX work will continue to write until the queue is empty. This change fixes both issues. No A2DP streaming glitches or truncated ACL data issue observed. Fixes: 8023dd2 ("Bluetooth: btnxpuart: Fix driver sending truncated data") Fixes: 689ca16 ("Bluetooth: NXP: Add protocol support for NXP Bluetooth chipsets") Signed-off-by: Neeraj Sanjay Kale <[email protected]> Signed-off-by: Luiz Augusto von Dentz <[email protected]> Signed-off-by: Sasha Levin <[email protected]> (cherry picked from commit 377d47fda395961cb99d28907fcbaf5198325c0b) Signed-off-by: Jack Vogel <[email protected]>
1 parent 06a722e commit 289ebee

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

drivers/bluetooth/btnxpuart.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1336,13 +1336,12 @@ static void btnxpuart_tx_work(struct work_struct *work)
13361336

13371337
while ((skb = nxp_dequeue(nxpdev))) {
13381338
len = serdev_device_write_buf(serdev, skb->data, skb->len);
1339-
serdev_device_wait_until_sent(serdev, 0);
13401339
hdev->stat.byte_tx += len;
13411340

13421341
skb_pull(skb, len);
13431342
if (skb->len > 0) {
13441343
skb_queue_head(&nxpdev->txq, skb);
1345-
break;
1344+
continue;
13461345
}
13471346

13481347
switch (hci_skb_pkt_type(skb)) {

0 commit comments

Comments
 (0)