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

Skip to content
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