• Andre Eisenbach's avatar
    LE fixes · ca22ac49
    Andre Eisenbach authored
    - Null pointer exception check added.
    
    An exception occurs at the memcpy in the bta_dm_gatt_disc_result.
    User removed the battery on Ble device(Smart Nudge) during bonding
    and connection. This exception occurs sometimes.
    I used Broadcom LE Explorer to reproduce it.
    
    - Fixed disconnect and encryption behaviour
    
    Disconnect will now disconnect the physical link immediately when no
    other application is interested in the device anymore. Also, the
    connection to a remote device is now dropped if encryption fails.
    
    - Deep copy buffers when transfering context
    
    Certain BTA server event types require a deep copy of the request
    data buffers when transfering context. Shallow copy of the pointers
    involved may cause a crash when overlapping read and write requests
    are received.
    
    - 2nd encryption has not started
    
    need to send encryption complete callback
    when the encryption fail due to link drop without a complete event.
    Otherwise BTA layer would not be able to clean up the status,
    and no further encryption can be started.
    
    Change-Id: If93e0a188e8779830c8991e4193b96dc95e23e5d
    ca22ac49
bta_gattc_act.c 64 KB