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

Commit 74f56f11 authored by Satomi's avatar Satomi Committed by Jakub Pawlowski
Browse files

Rvert "Register for Service Changed notifications for untrusted devices"



This reverts commit 05fa852c.

Instead of reusing service discovery data, gatt profile initiates
discovery by service uuid before regular service discovery is started,
and both discovery procedures interfere with each other.
As a result, link is dropped.

Bug: 30462943
Bug: 30481143
Change-Id: Ic63339f4f46eda70e575a4103974766d54a9d624
Signed-off-by: default avatarSatomi <michitsuta@casio.co.jp>
parent 96e3e6f1
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -4414,7 +4414,6 @@ static UINT8 bta_dm_ble_smp_cback (tBTM_LE_EVT event, BD_ADDR bda, tBTM_LE_EVT_D
            else
            {
                sec_event.auth_cmpl.success = TRUE;
                /* We also register for Service Changed right after connect. */
                if (!p_data->complt.smp_over_br)
                    GATT_ConfigServiceChangeCCC(bda, TRUE, BT_TRANSPORT_LE);
            }
+15 −13
Original line number Diff line number Diff line
@@ -235,23 +235,25 @@ static void gatt_connect_cback (tGATT_IF gatt_if, BD_ADDR bda, UINT16 conn_id,
{
    UNUSED(gatt_if);

    GATT_TRACE_EVENT("%s: from %08x%04x connected:%d conn_id=%d reason = 0x%04x", __func__,
    GATT_TRACE_EVENT ("%s: from %08x%04x connected:%d conn_id=%d reason = 0x%04x", __FUNCTION__,
                       (bda[0]<<24)+(bda[1]<<16)+(bda[2]<<8)+bda[3],
                       (bda[4]<<8)+bda[5], connected, conn_id, reason);

    tGATT_PROFILE_CLCB *p_clcb = gatt_profile_find_clcb_by_bd_addr(bda, transport);
    if (connected) {
        if (p_clcb == NULL)
            p_clcb = gatt_profile_clcb_alloc(conn_id, bda, transport);

    if (p_clcb == NULL)
        return;

    if (connected)
    {
        p_clcb->conn_id = conn_id;
        p_clcb->connected = TRUE;
        p_clcb->ccc_stage = GATT_SVC_CHANGED_SERVICE;

        if (p_clcb->ccc_stage == GATT_SVC_CHANGED_CONNECTING)
        {
            p_clcb->ccc_stage ++;
            gatt_cl_start_config_ccc(p_clcb);
        }
    } else {
        if (p_clcb != NULL)
        gatt_profile_clcb_dealloc(p_clcb);
    }
}