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

Commit 5bf9d504 authored by Prerepa Viswanadham's avatar Prerepa Viswanadham
Browse files

Don't starve a BT ACL link with 0 xmit quota

With new link management of controller buffers between
different ACL connections, it is possible that a ACL
conn would get 0 buffers - thus no profile can run.
This affects classic and LE ACL connections.

This work around allows a floor of 1 buffer as the
floor for all connection, irrespective of controller
capability.

Bug: 17976311
Change-Id: I7cd0d34af47c441c5ea7f2b836b591a4fec62ad1
parent 4e2d19b9
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -836,7 +836,7 @@ void l2c_ble_link_adjust_allocation (void)
    if (num_lowpri_links > low_quota)
    {
        l2cb.ble_round_robin_quota = low_quota;
        qq = qq_remainder = 0;
        qq = qq_remainder = 1;
    }
    /* If each low priority link can have at least one buffer */
    else if (num_lowpri_links > 0)
@@ -851,7 +851,7 @@ void l2c_ble_link_adjust_allocation (void)
    {
        l2cb.ble_round_robin_quota = 0;
        l2cb.ble_round_robin_unacked = 0;
        qq = qq_remainder = 0;
        qq = qq_remainder = 1;
    }
    L2CAP_TRACE_EVENT ("l2c_ble_link_adjust_allocation  num_hipri: %u  num_lowpri: %u  low_quota: %u  round_robin_quota: %u  qq: %u",
                        num_hipri_links, num_lowpri_links, low_quota,
+2 −2
Original line number Diff line number Diff line
@@ -743,7 +743,7 @@ void l2c_link_adjust_allocation (void)
    if (num_lowpri_links > low_quota)
    {
        l2cb.round_robin_quota = low_quota;
        qq = qq_remainder = 0;
        qq = qq_remainder = 1;
    }
    /* If each low priority link can have at least one buffer */
    else if (num_lowpri_links > 0)
@@ -758,7 +758,7 @@ void l2c_link_adjust_allocation (void)
    {
        l2cb.round_robin_quota = 0;
        l2cb.round_robin_unacked = 0;
        qq = qq_remainder = 0;
        qq = qq_remainder = 1;
    }

    L2CAP_TRACE_EVENT ("l2c_link_adjust_allocation  num_hipri: %u  num_lowpri: %u  low_quota: %u  round_robin_quota: %u  qq: %u",