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
Loading
Please register or sign in to comment