- 30 Jul, 2015 1 commit
-
-
Pavlin Radoslavov authored
It seems that the current implementation of btm_sec_encrypt_change() does not handle the case when it is called with an invalid handle, such as inside file btu_hcif.c : case HCI_SET_CONN_ENCRYPTION: /* Device refused to start encryption. ... */ btm_sec_encrypt_change(BTM_INVALID_HCI_HANDLE, ...) Bug: 22791224 Change-Id: Ide9404d0c82819399cf258ae3f90c25b352f1e20
-
- 29 Jul, 2015 4 commits
-
-
Andre Eisenbach authored
Bug: 21963935 Change-Id: Id72001ce17996ea04c3eba32cebcac4dbbe317bc
-
Andre Eisenbach authored
btif_av_event_free_data() was not called in all states (idle state only) leading to potential memory leaks. Bug: 22822688 Change-Id: I40520c605c9a806e6cd5ee6e36c101d0aa8d4355
-
Nitin Arora authored
This change checks the transport type on receiving the disconnection and resets the encryption key size only if the LE disconnection has taken place. This fixes the issue where read request to characteristics that require encryption, fails after cross key derivation due to disconnection of BR/EDR transport. Bug: 22515016 Change-Id: If6aad91a628eabbb5a4b7f5c22812fe94d4c5db2
-
Anubhav Gupta authored
Promoting AVCTP version to 1.4 from 1.2 as Bluedroid stack already has got support for the same. Below changes are incorporated as part of this: - AVCTP version in SDP entry is upgraded to 1.4 for both AVRCP Target and controller role. - Service class #1 is added in extra for AVRCP Controller SDP entry to be in sync with AVCTP version change. - Browsing support is not enabled as that needs corresponding profile level implementation, which is currently unavailable. Change-Id: I72f7f67eb0a789fd321e9468f2a51bb5e9385a89
-
- 28 Jul, 2015 1 commit
-
-
Anubhav Gupta authored
Use the correct offset_len when allocating buffers for AVRC packets that need to be fragmented. Bug: 22156175 Change-Id: I7db12474c84edacb4f0739d50a43e8cebdcca676
-
- 27 Jul, 2015 3 commits
-
-
Amirhossein Simjour authored
The uhid_event function used to expect that the return value of each read function call to match with the size of the struct uhid_event. Since the header file doesn't match the kernel driver, these two size don't always match. The exact size check is replaced with expecting the minimum required size. Bug: 20108348 Change-Id: Ib61537092b109296f8290d802b68fc2efe78888c
-
Casper Bonde authored
When unparing HID devices, the attr_mask was not cleared. By not clearing this data, some HID device will never be able to connect again. (E.g. the Apple Magic Mouse) Bug: 15566403 Change-Id: Ic80909dcecdf48d967c1a936b31554653761fa42 Signed-off-by:
Casper Bonde <c.bonde@samsung.com>
-
Pavlin Radoslavov authored
Previously, the logic for stopping the timers didn't take into account whether each timer was already running. Bug: 22666419 Change-Id: Ia99bf8be917e9ea69f478a954085336fc899040a
-
- 24 Jul, 2015 1 commit
-
-
Andre Eisenbach authored
- Prevent possible endless loop if |nb_frame| is too high - Remove off-by-one calculation before sending frames - Remove log spam and add better debug info Bug: 22658329 Change-Id: I374ee980aec48763beb49b4f6f8b076124cadf40
-
- 23 Jul, 2015 1 commit
-
-
Pavlin Radoslavov authored
Fix an earlier commit that prevents from customizing some of the Bluetooth sniff parameters - those cannot be overwritten anymore in the bdroid_buildcfg.h file. Also, fixed the indexing in tables bta_dm_pm_cfg[] and bta_dm_pm_spec[] Bug: 22676670 Change-Id: I3a7074b9a9c91d312dc5d4314b7c304baf4ae20d
-
- 22 Jul, 2015 2 commits
-
-
Pavlin Radoslavov authored
This race condition is triggered when A2DP audio is streaming on shutdown: "btif_a2dp_on_stopped() -> btif_media_task_aa_tx_flush_req()" is called to stop the particular audio stream, and this happens right after the "cleanup() -> btif_a2dp_stop_media_task()" processing during the shutdown of the Bluetooth stack. Bug: 22602117 Change-Id: I5de6a8f15b6a2771dde2e299a5b60554063696a2
-
Nitin Arora authored
This patch checks for the NVRAM data when inquiry result is received from the remote device. In case the device is marked as LE only or BR/EDR only, and inquiry result is received from the alternate transport, the device type is marked as Dual mode in the NVRAM Bug: 22604450 Change-Id: Id925e8bad152a33c2bd3c371ca42a6f9c694e3b0
-
- 21 Jul, 2015 6 commits
-
-
Nitin Arora authored
In case of pairing to an already paired device (in an instance where the central remote has removed the keys), the change makes sure that the correct address is used when LTK key request occurs at the peripheral. Bug: 22605510 Change-Id: I959003f39f70281ff1e6af8d4c4549138bc1682c
-
Nitin Arora authored
This change ensures that the completion of SMP pairing for LE devices specifically requests remote device discovery based on transport type set to LE to prevent initiation of BR/EDR connection due to incorrect transport type info Bug: 22515456 Change-Id: Id1e5603d3cc53ca3dff427b93059a00f8d9150a7
-
Andre Eisenbach authored
Bug: 22634292 Change-Id: I64745671f3b69fc7e6913213aeec55267e9bc49b
-
Nitin Arora authored
This change enables the enhanced connection complete event in order to receive the local rpa address while connection is completed with a paired peripheral. This is required if central tries to repair or key upgrade an already paired device so that the confirm or the DHKey Check values match during the pairing process Bug: 22515703 Change-Id: If27f3b22bc568df6f081f8ad13dfc6783a83ae47
-
Pavlin Radoslavov authored
* Removed btif_storage_is_device_bonded(), because it is not needed, and it was giving the wrong answer in use cases like Smart Setup with BR/EDR connections. * Added a call to btif_storage_remove_ble_bonding_keys() within btif_storage_remove_bonded_device() so the bonded device state is properly removed. * Don't save the BLE bonding keys if it is temporary bonding Bug: 22233299 Change-Id: I33d9f76a124acc60173f0acaa517bc29ee6603e8
-
tturney authored
Bug: 22473630 Change-Id: I1168444a6969532377e1bbcb2b1058d768099c20
-
- 20 Jul, 2015 1 commit
-
-
Arman Uguray authored
This patch fixes a bug that caused all multi-advertising instances to be initialized with Instance ID 0 (which is not allowed by the stack), if LE privacy is not available. The problem was that the internal data structures that represent advertising instances were not getting their |inst_id| field initialized where it's supposed to. Although far from clean, this code worked before. The culprit for the regression is "f9fdf890 Random address does not get written properly", which moved the initialization of instance IDs from the loop in BTM_BleEnableAdvInstance to btm_ble_multi_adv_enb_privacy. The latter never gets called if privacy is not available, which leads to partially initialized structures. Obviously both of these places were wrong to begin with. I saw the word "init" in a function called btm_ble_multi_adv_init. I figured this might have something to do with initializing, so I moved the logic there. Bug: 21267281 Change-Id: I38b9a2a71cd3f45feb267a13bf29f93564ee6075
-
- 17 Jul, 2015 1 commit
-
-
Nitin Arora authored
This change allows the host to mask the Cross key bit in the key distribution fields of the pairing request and response while pairing with the Moto key link. This is needed since this specific remote device performs calculations of the pairing confirm after masking the cross key bit in the key distribtuin field which results in a mismatch of the pairing confirm calcualted by the host DUT and the remote. Bug: 22539807 Change-Id: I7d758b05023cf346c97939883edda9d3adb08e1a
-
- 16 Jul, 2015 1 commit
-
-
Arman Uguray authored
This patch fixes an issue that is reproducible in highly noisy environments (massive deployment of BLE beacons), through repeated connect/disconnect attempts on a remote peripheral while scanning for beacons in the background. The state machine in bta/gatt has a special control flow for handling disconnect requests during discovery, which in this case failed to resolve the original request by issuing an HCI_Disconnect command. This is now fixed by always explicitly triggering the connection close sequence once the discovery state has been cleaned up. This patch also includes a fix for a crash that occurred as a side-effect of the scenario described above. Bug: 22350508 Change-Id: Ie9cbd3c8f54239b142bfb8dde80d9581ae70ed43
-
- 15 Jul, 2015 4 commits
-
-
Andre Eisenbach authored
This function is used for PM sniff mode timers - at least until we can re-factor those not to rely on this function. Bug: 22040710 Change-Id: Ibe6f49440228732b2bd8242db4a44e481b00b62e
-
Nitin Arora authored
This patch ignores the input parameter and used the own address type from address management block while setting the batch scan parameters. Bug: 22227689 Change-Id: I23fc80b68cfbd91d718c1094ef2483eaccda3ae1
-
VenkatRaghavan VijayaRaghavan authored
Allow PM to support multiple delay timer for different profiles and power mode requests. And set correct connectivity mode. Bug: 22040710 Change-Id: Idabd9ea944f0c5a89ce542d85db9f103fa7d1816
-
Srinu Jella authored
Use case: PTS test case for cross transport link key derivation Steps to reproduce: 1. Start Test case GAP TP/LEP/DM/BV-15 in PTSv6.0 Failure: PTS test case TP/LEP/DM/BV-15 fails as the link key is not stored when the key is derived from other transport key. So it will again go for pairing even though it has link key but not stored. Root cause: Link key is stored only when bond type is presistent, but it sets the bond type to persistent only when it receives SSP request but not link key is derived. Fix: So making the solution generic to store always when the link key type is authenticated combination key with P-256. Bug: 22486860 Change-Id: I3eb201262f72c86a9438351cad14a6698065fa90
-
- 14 Jul, 2015 1 commit
-
-
Andre Eisenbach authored
As per feedback from manufacturer. Bug: 21817410 Change-Id: I4b5b3d8d99f9299754221968a5e1ca5f21cb9478
-
- 13 Jul, 2015 2 commits
-
-
Andre Eisenbach authored
Bug: 21817410 Change-Id: I5c5f6da9e8326e4c9424907337331b39fb67b444
-
Andre Eisenbach authored
Change-Id: I7177aaa0e2d0c3b0fa79ae655c0171f0703c54f3
-
- 10 Jul, 2015 4 commits
-
-
Andre Eisenbach authored
As a side-effect to increasing BTM_BLE_CONN_INT_MIN, valid connection parameter updates can be rejected if the requested minimum is < 11.25ms, but the requested maximum is >= 11.25ms. This patch introduces a new parameter "BTM_BLE_CONN_INT_LIMIT" and resets BTM_BLE_CONN_INT_MIN to the HCI spec defined minimum. Bug: 22245224 Change-Id: I6a2e4d18488b63570f7d0070413d00f16a7fdba1
-
Pavlin Radoslavov authored
Assign appropriately the p_rsp_data pointer to point in the buffer with the response. Bug: 22307858 Change-Id: I2f77f290ff2c62c09b3be18ff047167a48c7c9d4
-
Nitin Arora authored
This change allows the host peripheral which initiates the pairing to reject the pairing in case the remote does not support secure LE connections and the host DUT is in secure connections only mode. Bug: 22203134 Change-Id: If58f791cb575d6b66c361f58e574b613d5686047
-
Srinu Jella authored
Use case: Reconnection of legacy mouse. Failure: Not able to reconnect with mouse if the previous connection rejected was with SC enabled device. Test Steps: 1. Pair and connect remote devices. 2. Start streaming music over headset and Disconnect HID mouse. 3. Inquire and try to pair with any DUT which supports secure connection. 4. Cancel pairing and Turn OFF remote headset. 5. Now try reconnection from HID mouse. Root Cause: When the secure connection is established, it will have the 3 pages filled, and when the same acl entry is reused for next mouse reconnection, only one page is getting over written because legacy HID will have only one page supported and remaining 2 pages still holds the previous device's data. Fix: Fixed it by resetting the ACL entry when the ACL is disconnected so that even though one page is copied and remaining pages will not contain valid data. Bug: 22249108 Change-Id: Icd96f22fe0787ef5845ee02940c2b0eacf7a2bbd
-
- 09 Jul, 2015 2 commits
-
-
Miao Chou authored
This CL prevents functions, bta_ag_hfp_result and bta_hf_client_send_atd, from the potential strings overflowing. Bug: 20674686,20677309 Change-Id: Iaef720fc784e020f237feb86e17857bddf57bbfc
-
Pavlin Radoslavov authored
A local struct variable is not initialized (memset to 0) when sending GET_REPORT_EVT to an application. As a result, field hs_data.rsp_data.p_rpt_data might be used uninitialized. Bug: 22352578 Change-Id: I72141117187c392bc0502a17bf71859e67c8da54
-
- 07 Jul, 2015 5 commits
-
-
Anubhav Gupta authored
This happens in race conditions when we try to connect to a remote A2DP device from Bluetooth Settings UI and simultaneously there is incoming connection request from previously connected remote. This fix addresses the scenario where because of first A2DP connection btif moves to opening/ opened state and then the second connect request is received. This scenario is handled by gracefully rejecting the second connect request from btif layer if it is already connected or about to be connected by the first connect request. Bug: 22028876 Change-Id: I53be400d1d7c9a84ca9d9a75b6b6f010975cf0cf
-
Satya Calloji authored
Handled the issue of incorrect address type and value (on Privacy 1.1 chipsets) on reconnection by setting the correct device type and address value on advertiser end Original author: Chaojing Sun <cjsun@broadcom.com> Bug: 22100659 Change-Id: I009888cc9ebd0b631543027d6e34b6c7ecbd0ce8
-
Anubhav Gupta authored
- Remote device may initiate AVDTP Suspend within 3s of AVRCP pause, which sets remote suspend flag. Later on resumption of local playback A2DP packets can not be processed further as Remote suspend flag remains set. current change overrides remote suspend flag if local suspend is triggered later. - This change covers the usecase where play is pressed from DUT UI before local suspend triggers in such scenarios current change takes care of resetitng remote suspend flag on AVRCP play state change event. - Moreover this change will drop A2DP packets when the setparameter is called with A2dpSuspended=true and resumes when the mentioned parameter is reset. This change along with corresponding app change helps mitigating issues reported due to A2Dp, HFP synchronizations and local and remote device initiated AVDTP suspend handling. Bug: 22028876 Change-Id: I3bb334373414170254744d9233cbd2e66219bfa0
-
Srinu Jella authored
Use case: Crash observed during BT IOT testing 1. Try to pair to the remote device. 2. Connect to the remote device's audio profiles. 3. Remote device has given the wrong UUID's length.This will leads to crash. Failure: crash observed during profile connection Root cause: Remote sent invalid UUID length,which is causing crash in comparison logic. Fix: Validate input UUID's length before going for actual comparison. Bug: 19417758 Change-Id: I8216d17e3f6cc22dfbeca4b31972b5b5584a73ea
-
Andre Eisenbach authored
Bug: 21817410 Change-Id: I55b3753b0ae9f389f1531bb588c4868e96842aeb
-