Skip to content

Commit 7de119b

Browse files
NeerajSanjayKaleVudentz
authored andcommitted
Bluetooth: btnxpuart: Fix glitches seen in dual A2DP streaming
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]>
1 parent 514a8e6 commit 7de119b

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
@@ -1381,13 +1381,12 @@ static void btnxpuart_tx_work(struct work_struct *work)
13811381

13821382
while ((skb = nxp_dequeue(nxpdev))) {
13831383
len = serdev_device_write_buf(serdev, skb->data, skb->len);
1384-
serdev_device_wait_until_sent(serdev, 0);
13851384
hdev->stat.byte_tx += len;
13861385

13871386
skb_pull(skb, len);
13881387
if (skb->len > 0) {
13891388
skb_queue_head(&nxpdev->txq, skb);
1390-
break;
1389+
continue;
13911390
}
13921391

13931392
switch (hci_skb_pkt_type(skb)) {

0 commit comments

Comments
 (0)