summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-10-18Merge "Retry pairing if the device did not respond (page timeout)" into lmp-devlollipop-devPrem Kumar
2014-10-17A2DP: Lowering maximum PCM frame limit to avoid audio breaksAndre Eisenbach
Some car kits (notably Renesas car kits used in Nissan/Infiniti models) will throttle incoming A2DP frames if too many frames are sent at once. This patch lowers the maximum number of frames sent per tick to not overwhelm the remote device. Bug: 17880920 Change-Id: I7bfbba625405c96159d1c94eebd8dc498f100daa
2014-10-16Retry pairing if the device did not respond (page timeout)Andre Eisenbach
Implements a "blacklist" identifying troublesome remote devices which may require multiple pairing attempts to succeed. Change-Id: I11b6b7da7230e37fbd5ec4c07cd38b30dc12b40e
2014-10-16Merge "LE: Serialize multiple connection parameter update requests" into lmp-devAndre Eisenbach
2014-10-16Merge "Implement GATT service cache" into lmp-devAndre Eisenbach
2014-10-15Implement GATT service cacheAndre Eisenbach
When trying to reconnect a previously paired device, notifications may be sent by the remote device before the characteristic handles have been discovered. Thus notifications will be lost. This patch adds a non-volatile attribute cache that allows attribute handles to be restored before notifications are received. Bug: 17999991 Change-Id: I97faefbc6a2fed86cbce7f64d620ed03944d89b2
2014-10-15am 595bcb4c: (-s ours) DO NOT MERGE Do not set sig_id in gerneral reject ↵Matthew Xie
message per AVDTP SPEC 1.2 * commit '595bcb4c72aaa2a9a54a23b127dd5fa9842876ca': DO NOT MERGE Do not set sig_id in gerneral reject message per AVDTP SPEC 1.2
2014-10-15DO NOT MERGE Do not set sig_id in gerneral reject message per AVDTP SPEC 1.2Matthew Xie
AVDTP SPEC 1.3 set sig_id in gerneral reject message. But current stack is on AVDTP 1.2, we need set the field to be 0. Setting sig_id would fail PTS test TP/SIG/SMG/BI-28-C Bug: 17892440 Change-Id: I2037aae299eab15864fc7b53ada7f49c0f34b9c5
2014-10-15am 98ad505f: Increment seq before adding to packet in ↵Matthew Xie
avdt_scb_hdl_write_req_no_frag * commit '98ad505f577599870cf0ae281a5d035e2e2453f9': Increment seq before adding to packet in avdt_scb_hdl_write_req_no_frag
2014-10-15LE: Serialize multiple connection parameter update requestsChaojing Sun
Bluetooth controllers do not allow multiple connection parameter updates where there is one outstanding. This requires serializing all connection parameter update requests and send the latest request when the pending one is finished. Bug: 17979666 Change-Id: Ic49bd89a4ded28014d74b40e67f2a3ea490b9ef7
2014-10-15Increment seq before adding to packet in avdt_scb_hdl_write_req_no_fragMatthew Xie
Bluetooth Certification Test case TP/TRA/BTR/BV-01-C for Basic Transport Service Support fails. The failure is because the PTS is expecting the first RTP Media Frame to have a sequence number of 1. But metallica sends it as 0. bug 17893538 Change-Id: Idfe7ae382c3764616dab4733cdf83b1627b8b3c9
2014-10-10Merge "Added missing A2DP priority on java alarm service" into lmp-devAndre Eisenbach
2014-10-10Added missing A2DP priority on java alarm serviceMattias Agren
Running GKI timer engine via JAVA alarm service was causing severe timer preemption at times which affects A2DP media task timer. This in turn was stressing the compensation logic towards UIPC resulting in very bursty reads of up to 40 UIPC frames at a time. This led to instabilities on the UIPC pipe and trickled upwards in audio framework. Inclusion of java alarm thread in A2DP high priority thread list results in a much smoother data flow for entire A2DP data path and improved audio quality. Bug: 17520043 Change-Id: I7cea6ec64aa5b973b5fff767389a8827e681619e
2014-10-10Revert "Unable to connect to a Motorola s705 until Bluetooth was toggled of ↵Andre Eisenbach
and back on" This reverts commit a934f018b6c6a7eda4662a60f2f04828afc3ab77. This patch caused various headset audio break issues and slow reconnections on headsets like the Bose AE2W. Based on the original bug under which this patch was merged (b/10648781) it is unlikely that this bug even fixed the issue it was meant to address. Bug: 17520043 Change-Id: I39bb9abbf5735abff25b5257425c34972287dc27
2014-10-08am ba2f6d99: (-s ours) Revert "anthias:17614185:Bluetooth: Getbuf returning ↵Simon Wilson
invalid buffer pointer" * commit 'ba2f6d995d058bc9e77d860d0d755e4ae6086deb': Revert "anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer"
2014-10-08Revert "anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer"Simon Wilson
This reverts commit c1ccb0d9854cea4b2cd09bbd57fc1e1081eb96b9. This change looks like a likely candidate for the culprit behind a wide range of BT issues we're seeing across many devices. Reverting this in order to test.
2014-10-07am 46bfe63d: (-s ours) DO NOT MERGE AVRCP: Proper handling of Fragmented ↵Mallikarjuna GB
AVCTP packet * commit '46bfe63d383fd077e521d69321e011aff824bd39': DO NOT MERGE AVRCP: Proper handling of Fragmented AVCTP packet
2014-10-07am c1ccb0d9: (-s ours) anthias:17614185:Bluetooth: Getbuf returning invalid ↵Maggie_Lee
buffer pointer * commit 'c1ccb0d9854cea4b2cd09bbd57fc1e1081eb96b9': anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer
2014-10-06Merge "Fix an "array index out of bound" bug for RPA." into lmp-devWei Wang
2014-10-06Merge "Raise A2DP threat priority to avoid music breaks" into lmp-devAndre Eisenbach
2014-10-05LE: Peer device's latest RPA is not being appliedSatya Calloji
The latest discovered address is not used when reconnecting to devices using resolvable private addresses, if RPA resolution offloadin is not supported in the controller. This patch also address the exception case where BT off is memseting all control value while the IRK list is still being cleaned up. Bug: 17187661 Change-Id: Ifeb5b8297e7eadb0e34ec1afbd41f46bdd836cf3 Author: Chaojing Sun <cjsun@broadcom.com>
2014-10-05Raise A2DP threat priority to avoid music breaksMattias Agren
* Ensure all a2dp audiopath threads are configured to high priority when actively streaming. * For now set bt hc worker thread always to URGENT_AUDIO until new thread api can adjust thread priority dynamically. Bug: 17520043 Change-Id: I10e314085329278bcfcc4e8bc5ce899b03d22e2b
2014-10-03DO NOT MERGE AVRCP: Proper handling of Fragmented AVCTP packetMallikarjuna GB
- AVCTP : Allocate bigger buffer for reassembly - AVRCP : Handle getelimentattr to eliminate duplicates and invalid attributes, this also fixes BOF. Bug: 17669579 CRs-Fixed: 576831 Change-Id: I778c3df1386339ff8a00a755ffc9f24881b5167d
2014-10-03Fix an "array index out of bound" bug for RPA.Wei Wang
Also returns no more than BTM_BLE_MULTI_ADV_MAX for max advertise instances. Bug:17810619 Change-Id: If655e207b641fd4cd1590ae47b28185dc9f7cbbb
2014-09-25Merge "Remove HOGP device from background connection list" into lmp-devMatthew Xie
2014-09-24Null check for irk entryPriti Aghera
When BT is turning off btm_ble_vendor control block is cleaned up. So irk_entry which points to the first element of irk_list is NULL Included a null check for irk_entry to prevent stack crash. Bug 17399097 Change-Id: Ib129f7dd06f9db61cc54257aa4a563fe2c9f41f2
2014-09-24anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointerMaggie_Lee
b/17623865 Getbuff is checking for the pool which can accommodate requested size, but it changing the pool with a restricted check and not checking for the free memory size in that pool. Added a check to avoid return the wrong pool free buf pointer and avoid gki get_buffer overflow. Change-Id: I142870c989fc37f49c2d9b411d5eddbfba59bd9d
2014-09-23Merge "Enable flow control when tx buffer is full and peer stuck in ↵Matthew Xie
receiving" into lmp-dev
2014-09-22Remove HOGP device from background connection listNitin Arora
This adds logic to remove the device from whitelist when user unpairs or disconnects device. Bug: 17318494 Change-Id: I43c06dd16c665f9ce2e71a0e031c4f0f11a4012e
2014-09-19All 00 mac address with advtSatya Calloji
Read the controller features before local name read Bug 17505545 Change-Id: I7995a8c714ebec6e1751af5371edfd29c74b12ea
2014-09-18Enable flow control when tx buffer is full andZhenye Zhu
peer stuck in receiving bug 17525124 Change-Id:Ic67e9c0aab7e64afc9679733e6c3de10a28078d7
2014-09-18Check userial fd before readingChris Manton
The userial read loop uses one global flag to condition the serial port read and a second global file descriptor variable that may change from another thread underneath it. Check the validity of the serial port file descriptor by making a copy immediately before the read and only proceeding if it's a valid fd. bug: 17552690 Change-Id: Iaaf1b8476fdee462ddc178d2a31ef8f55cb33e52
2014-09-17Merge "Add ability to preserve existing snoop log" into lmp-devAndre Eisenbach
2014-09-17Add ability to preserve existing snoop logAndre Eisenbach
Currently a stack restart or device reboot will overwrite existing snoop logs when the stack restarts. This patch adds a new configuration file parameter "BtSnoopSaveLog" that, if enabled, will cause an existing snoop log to be renamed to "<snoop_file_name>.last" before a new snoop log is created. This will allow for easier debugging of crashes that involve a reboot or stack restart. Change-Id: I4f56204d31a6bf2e96058938e8616eb6dee7360b
2014-09-17Merge "For pairing over le transport, set default device type and address ↵Matthew Xie
type" into lmp-dev
2014-09-17For pairing over le transport, set default device type and address typeMatthew Xie
When the LE pairing is initiated over NFC, skipping device scan, there is no device type or address type info. We set the default as le and public. bug 17497942 Change-Id: I3dcbb9029ead6ea0f7c48e62f46c8a055f1bc293
2014-09-17Document LE IO capabilities and use BR/EDR constant for LEAndre Eisenbach
This removes a hack to set LE IO capabilities and reuses the existing constant defined in bt_target.h. Change-Id: I3c97629bd092ac78bd673afc29458775b2bce836
2014-09-14host cannot recover when connection exceed controller capabilityPriti Aghera
Host can not initiate new connection when exceed controller capability and connection then drop back to lower than the max. Controller will not generate connection complete event when initaite LE ll connection request failed, and host is dead loop waiting for the connection complete then can not recover. Included a connection complete callback with failure status when controller capability is exceeded. bug 17326529 Change-Id: I9b863578dc868456e092f1d060e50d2c9fdcb441
2014-09-12Avoid premature LE connection notifaction to appPrerepa Viswanadham
To avoid premature connection notification to app, always wait for LE read remote feature complete with success before the connection event is sent to application. This patch also deprecates the BTA_SKIP_BLE_READ_REMOTE_FEAT flag. Since the remote feature request is now serialized and start encryption won't be called until the connection is up, this flag is no longer necessary and interferes with the new behaviour. This is an extension of previous CL Bug: 17326529 Change-Id: Icfd4c5dfdd9f89d1318ef429e132eb005abb1f64
2014-09-12Merge "Fix issues with manufacturer ID prefix scan filter." into lmp-devWei Wang
2014-09-12Merge "Fix ADV data exceeding max adv packet length" into lmp-devWei Wang
2014-09-11LE: Use random address when initiating background connectionsAndre Eisenbach
When re-connecting to HID devices, the first reconnection immediately after a reboot incorrectly uses the static, public Bluetooth address of the phone/tablet as the own address. This patch fixes the Bluetooth initialization sequence to make sure privacy is enabled before any Bluetooth services are started. Bug: 16952502 Change-Id: I43e595ddc7e347fab972b059382b512fb03e9459
2014-09-10Fix ADV data exceeding max adv packet lengthSatya Calloji
Fixed the 128-bit UUID handling during setting up of adv data/scan response Bug:16799331 Change-Id: I81e4ab0a80a5c1b7abf012dccc29eead54229b21
2014-09-10Merge "LE link_xmit_quota is not correctly allocated" into lmp-devAndre Eisenbach
2014-09-10Merge "SMP doesn't detect the event of local processing taking more than SMP ↵Andre Eisenbach
timeout (30 sec)" into lmp-dev
2014-09-09LE link_xmit_quota is not correctly allocatedMudumba Ananth
LE link transmit quota should be calculated based on the total LE buffer available and number of LE link that shares the buffer. Currently it's been calculated based on the ACL buffer number and total physical links(BR and LE), that cause the LE link transmit quota not being done right. Modify the link transmit quota allocation, and keep track of LE link seperately, also keep track of round robin scheme for LE links solving the problem. Bug: 16560957 Change-Id: I70f91827b96f2c10421e91311ea34cc81a5ef4b8
2014-09-09Merge "LE: Remove stored link key if encryption fails due to missing key ↵Andre Eisenbach
(remote)" into lmp-dev
2014-09-09Merge "If L2CA_ConnectFixedChnl fails, free L2CAP lcb for the attempted ↵Andre Eisenbach
connection" into lmp-dev
2014-09-09Fixed SMP pairing failure due to race conditionPriti Aghera
SMP pairing failure if remote send security request before master side receive LE link connection callback. The racing condition will cause master side bonding failure upon ignoring remote security request and flush out all SMP information. Retain SMP information when a locally initiated pairing is in process solves the problem. Bug: 17412687 Change-Id: Ia2256160c866413f93c6f49e5db82b4c6489d9d2
2014-09-09SMP doesn't detect the event of local processing taking more than SMP ↵Mudumba Ananth
timeout (30 sec) Bug: 16560957 Change-Id: I1113f367187a30e01fa3d5d2a5ccb0243580e06b