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
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)
{
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,
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)
{
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",