Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa17a7c0 authored by Kyunglyul Hyun's avatar Kyunglyul Hyun
Browse files

Drop pending fragments for disconnected connection

This change addresses an issue where the
round_robin_scheduler becomes stuck in
an invalid state under heavy traffic conditions.

The problem occurs when a large packet is fragmented,
and these fragments await data buffer flushing but
the connection gets disconnected.

In this scenario, fragments_to_send_ never becomes empty,
preventing further packet processing due to
the absence of HCI_Number_Of_Completed_Packets events.

This is resolved by explictly dropping packet fragments
upon disconnection and restart round robin.

A test has been added to verify the fix.

Bug: 376379859
Bug: 336107032
Test: atest RoundRobinSchedulerTest
Flag: com.android.bluetooth.flags.drop_acl_fragment_on_disconnect

Change-Id: Ic3099aa25cb71e69f1e43bb6581a3fb682565af9
parent a1f6bd5d
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment