Skip to content

Commit

Permalink
bt: Fixed the inconsistency between the indicator event received by t…
Browse files Browse the repository at this point in the history
…he HF application layer and the actually received indicator.

Closes #6486
  • Loading branch information
xiongweichao committed May 4, 2023
1 parent f00c78b commit 0624049
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions components/bt/host/bluedroid/bta/hf_client/bta_hf_client_at.c
Original file line number Diff line number Diff line change
Expand Up @@ -427,15 +427,16 @@ static void bta_hf_client_handle_ciev(UINT32 index, UINT32 value)

APPL_TRACE_DEBUG("%s index: %u value: %u", __FUNCTION__, index, value);

if (index >= BTA_HF_CLIENT_AT_INDICATOR_COUNT) {
if (index == 0 || index > BTA_HF_CLIENT_AT_INDICATOR_COUNT) {
APPL_TRACE_WARNING("%s: Invalid index %d", __FUNCTION__, index);
return;
}

if (service_index == index - 1) {
service_availability = value == 0 ? FALSE : TRUE;
}

realind = bta_hf_client_cb.scb.at_cb.indicator_lookup[index];
realind = bta_hf_client_cb.scb.at_cb.indicator_lookup[index - 1];

if (realind >= 0 && realind < BTA_HF_CLIENT_AT_SUPPORTED_INDICATOR_COUNT) {
/* get the real in-array index from lookup table by index it comes at */
Expand Down

0 comments on commit 0624049

Please sign in to comment.