OSDN Git Service

android-x86/system-bt.git
9 years agoFix "no instances found for adv" when stop BLE scanning.
Satya Calloji [Fri, 10 Oct 2014 18:31:03 +0000 (11:31 -0700)]
Fix "no instances found for adv" when stop BLE scanning.

Bug:17703806
Change-Id: I103d3637ad38d33b4370850a300b0d72bdaeb562

9 years agoam f37767a1: HOGP: Do not remove device from whitelist on encryption failure
Andre Eisenbach [Tue, 4 Nov 2014 23:45:15 +0000 (23:45 +0000)]
am f37767a1: HOGP: Do not remove device from whitelist on encryption failure

* commit 'f37767a17b2d80828f7ac4fa170859cb9e2f0bc6':
  HOGP: Do not remove device from whitelist on encryption failure

9 years agoHOGP: Do not remove device from whitelist on encryption failure
Andre Eisenbach [Tue, 4 Nov 2014 23:23:02 +0000 (15:23 -0800)]
HOGP: Do not remove device from whitelist on encryption failure

If the encryption times out during the re-connect process for a HOGP
device, the device is removed from the whitelist and thus will not
reconnect until it is added back to the list. On platforms that do not
have a way to reconnect to a device manually, this means the device will
never reconnect again until the stack is restarted.

This patch checks the reason for the encryption failure and does not
remove the device from the whitelist if the encryption failed to a non
authentication/key related error.

Bug: 18233442
Change-Id: Ifaec4a9224ff9281956715b38d34c2d7c3fecb01

9 years agoam e50c7933: DO NOT MERGE Do not set sig_id in gerneral reject message per AVDTP...
Matthew Xie [Mon, 3 Nov 2014 21:20:45 +0000 (21:20 +0000)]
am e50c7933: DO NOT MERGE Do not set sig_id in gerneral reject message per AVDTP SPEC 1.2 automerge: 595bcb4  -s ours automerge: 2369935  -s ours

* commit 'e50c79337277f9da2c9cef52fd373bbc85df6255':

9 years agoam 87303c76: Increment seq before adding to packet in avdt_scb_hdl_write_req_no_frag...
Matthew Xie [Mon, 3 Nov 2014 21:20:44 +0000 (21:20 +0000)]
am 87303c76: Increment seq before adding to packet in avdt_scb_hdl_write_req_no_frag automerge: 98ad505 automerge: f81ffdb

* commit '87303c76d7e472818b3379475241191cd2b3e3aa':

9 years agoDO NOT MERGE Do not set sig_id in gerneral reject message per AVDTP SPEC 1.2 automerg...
Matthew Xie [Mon, 3 Nov 2014 21:13:49 +0000 (21:13 +0000)]
DO NOT MERGE Do not set sig_id in gerneral reject message per AVDTP SPEC 1.2 automerge: 595bcb4  -s ours
automerge: 2369935  -s ours

* commit '236993560aad078736afd36323ed0dafa13005c2':

9 years agoIncrement seq before adding to packet in avdt_scb_hdl_write_req_no_frag automerge...
Matthew Xie [Mon, 3 Nov 2014 21:13:21 +0000 (21:13 +0000)]
Increment seq before adding to packet in avdt_scb_hdl_write_req_no_frag automerge: 98ad505
automerge: f81ffdb

* commit 'f81ffdb1804dfe759c6a67cfc40a7c4fb599b127':

9 years agoam 5fe98634: am ba2f6d99: Revert "anthias:17614185:Bluetooth: Getbuf returning invali...
Simon Wilson [Mon, 3 Nov 2014 20:47:29 +0000 (20:47 +0000)]
am 5fe98634: am ba2f6d99: Revert "anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer" automerge: 8403c6d

* commit '5fe98634c3bd19660d2f3533f83b9beca15a94ab':

9 years agoam ba2f6d99: Revert "anthias:17614185:Bluetooth: Getbuf returning invalid buffer...
Simon Wilson [Mon, 3 Nov 2014 20:40:34 +0000 (20:40 +0000)]
am ba2f6d99: Revert "anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer"
automerge: 8403c6d

* commit '8403c6d2a012adf87bed9d34176bfaa6a343463c':

9 years agoam 27c93b25: am 46bfe63d: DO NOT MERGE AVRCP: Proper handling of Fragmented AVCTP...
Mallikarjuna GB [Mon, 3 Nov 2014 20:29:47 +0000 (20:29 +0000)]
am 27c93b25: am 46bfe63d: DO NOT MERGE AVRCP: Proper handling of Fragmented AVCTP packet automerge: f9336d3  -s ours

* commit '27c93b253feaea8f5144d3e8957478575c4df13c':

9 years agoam 36ba410e: am c1ccb0d9: anthias:17614185:Bluetooth: Getbuf returning invalid buffer...
Maggie_Lee [Mon, 3 Nov 2014 20:29:46 +0000 (20:29 +0000)]
am 36ba410e: am c1ccb0d9: anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer automerge: 0e74efe

* commit '36ba410e35e924aad27cd6556e2346af5e606363':

9 years agoam 46bfe63d: DO NOT MERGE AVRCP: Proper handling of Fragmented AVCTP packet
Mallikarjuna GB [Mon, 3 Nov 2014 20:20:07 +0000 (20:20 +0000)]
am 46bfe63d: DO NOT MERGE AVRCP: Proper handling of Fragmented AVCTP packet
automerge: f9336d3  -s ours

* commit 'f9336d34b5168d4c97476ea88dad586d481c8397':

9 years agoam c1ccb0d9: anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer
Maggie_Lee [Mon, 3 Nov 2014 20:20:03 +0000 (20:20 +0000)]
am c1ccb0d9: anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer
automerge: 0e74efe

* commit '0e74efe56b678c85f35e158a40d9828661cfa2d4':

9 years agoam 472c2a7b: Don\'t starve a BT ACL link with 0 xmit quota
Prerepa Viswanadham [Tue, 28 Oct 2014 23:49:28 +0000 (23:49 +0000)]
am 472c2a7b: Don\'t starve a BT ACL link with 0 xmit quota

* commit '472c2a7bb0ac070e596084f9422157f7872c6dca':
  Don't starve a BT ACL link with 0 xmit quota

9 years agoDO NOT MERGE Do not set sig_id in gerneral reject message per AVDTP SPEC 1.2
Matthew Xie [Tue, 28 Oct 2014 23:27:24 +0000 (23:27 +0000)]
DO NOT MERGE Do not set sig_id in gerneral reject message per AVDTP SPEC 1.2
automerge: 595bcb4  -s ours

* commit '595bcb4c72aaa2a9a54a23b127dd5fa9842876ca':
  DO NOT MERGE Do not set sig_id in gerneral reject message per AVDTP SPEC 1.2

9 years agoIncrement seq before adding to packet in avdt_scb_hdl_write_req_no_frag
Matthew Xie [Tue, 28 Oct 2014 23:26:48 +0000 (23:26 +0000)]
Increment seq before adding to packet in avdt_scb_hdl_write_req_no_frag
automerge: 98ad505

* commit '98ad505f577599870cf0ae281a5d035e2e2453f9':
  Increment seq before adding to packet in avdt_scb_hdl_write_req_no_frag

9 years agoDon't starve a BT ACL link with 0 xmit quota
Prerepa Viswanadham [Thu, 23 Oct 2014 20:50:57 +0000 (13:50 -0700)]
Don't starve a BT ACL link with 0 xmit quota

With new link management of controller buffers between
different ACL connections, it is possible that a ACL
conn would get 0 buffers - thus no profile can run.
This affects classic and LE ACL connections.

This work around allows a floor of 1 buffer as the
floor for all connection, irrespective of controller
capability.

Bug: 17976311
Change-Id: I7cd0d34af47c441c5ea7f2b836b591a4fec62ad1

9 years agoam 5e808468: LE: Do not remove bond on encryption failure
Andre Eisenbach [Wed, 22 Oct 2014 06:12:53 +0000 (06:12 +0000)]
am 5e808468: LE: Do not remove bond on encryption failure

* commit '5e808468e0667a6a2a8a1e6de80efbc4f42fa0f0':
  LE: Do not remove bond on encryption failure

9 years agoLE: Do not remove bond on encryption failure
Andre Eisenbach [Tue, 21 Oct 2014 19:37:53 +0000 (12:37 -0700)]
LE: Do not remove bond on encryption failure

If the encryption fails during the re-connection process with a
previously paired LE device, the pairing is removed. Thus, a single
connection failure could lead to the device be unpaired.

This patch prevents unpairing when encryption fails.

Additionally, the IRK is restored from NV ram to fix reconnection to
dual-mode devices.

Bug: 18072300
Change-Id: I077a16d0715fdaa07b95b1c664c18bd839754896

9 years agoam 433fe016: Cache HOGP HID report map
Chaojing Sun [Tue, 21 Oct 2014 21:42:57 +0000 (21:42 +0000)]
am 433fe016: Cache HOGP HID report map

* commit '433fe016392c7ae003033530f1b3994f2ddad313':
  Cache HOGP HID report map

9 years agoam 25249f76: Merge "Retry pairing if the device did not respond (page timeout)" into...
Prem Kumar [Tue, 21 Oct 2014 21:42:56 +0000 (21:42 +0000)]
am 25249f76: Merge "Retry pairing if the device did not respond (page timeout)" into lmp-dev

* commit '25249f7663d75244b5a2abcac08e301d584fcd8d':
  Retry pairing if the device did not respond (page timeout)

9 years agoam 01d102b3: A2DP: Lowering maximum PCM frame limit to avoid audio breaks
Andre Eisenbach [Tue, 21 Oct 2014 21:42:56 +0000 (21:42 +0000)]
am 01d102b3: A2DP: Lowering maximum PCM frame limit to avoid audio breaks

* commit '01d102b3b187ab0d24050c1e12f96e6ee1ce50be':
  A2DP: Lowering maximum PCM frame limit to avoid audio breaks

9 years agoCache HOGP HID report map
Chaojing Sun [Fri, 17 Oct 2014 02:22:05 +0000 (19:22 -0700)]
Cache HOGP HID report map

HID reports from a bonded device can be missed when Bluetooth is
restarted HOGP report discovery is still active. Caching the
report information and loading it back when the stack resets
will ensure incoming HID reports can be processed immediately.

Bug: 17999991
Change-Id: I4608935f8749537d6b05625b894445a21f844ee0

9 years agoMerge "Retry pairing if the device did not respond (page timeout)" into lmp-dev
Prem Kumar [Sat, 18 Oct 2014 19:21:05 +0000 (19:21 +0000)]
Merge "Retry pairing if the device did not respond (page timeout)" into lmp-dev

9 years agoRemove spammy log information for BLE scan.
Wei Wang [Fri, 17 Oct 2014 03:26:44 +0000 (20:26 -0700)]
Remove spammy log information for BLE scan.

Bug:17574681
Change-Id: Ia33d0a845d5a4ac5aa58bd32529aeae60db4fd49

9 years agoA2DP: Lowering maximum PCM frame limit to avoid audio breaks
Andre Eisenbach [Fri, 17 Oct 2014 19:52:58 +0000 (12:52 -0700)]
A2DP: Lowering maximum PCM frame limit to avoid audio breaks

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

9 years agoRetry pairing if the device did not respond (page timeout)
Andre Eisenbach [Tue, 14 Oct 2014 21:29:19 +0000 (14:29 -0700)]
Retry pairing if the device did not respond (page timeout)

Implements a "blacklist" identifying troublesome remote devices which
may require multiple pairing attempts to succeed.

Change-Id: I11b6b7da7230e37fbd5ec4c07cd38b30dc12b40e

9 years agoam 9d8df2d1: Merge "LE: Serialize multiple connection parameter update requests"...
Andre Eisenbach [Thu, 16 Oct 2014 06:17:42 +0000 (06:17 +0000)]
am 9d8df2d1: Merge "LE: Serialize multiple connection parameter update requests" into lmp-dev

* commit '9d8df2d1c4ad40fa49e7e1c1031421d8a194d927':
  LE: Serialize multiple connection parameter update requests

9 years agoam d8586177: Merge "Implement GATT service cache" into lmp-dev
Andre Eisenbach [Thu, 16 Oct 2014 06:17:41 +0000 (06:17 +0000)]
am d8586177: Merge "Implement GATT service cache" into lmp-dev

* commit 'd85861779fb900b1c8ac2c6597a3cc111f161dcb':
  Implement GATT service cache

9 years agoMerge "LE: Serialize multiple connection parameter update requests" into lmp-dev
Andre Eisenbach [Thu, 16 Oct 2014 06:14:36 +0000 (06:14 +0000)]
Merge "LE: Serialize multiple connection parameter update requests" into lmp-dev

9 years agoMerge "Implement GATT service cache" into lmp-dev
Andre Eisenbach [Thu, 16 Oct 2014 06:14:17 +0000 (06:14 +0000)]
Merge "Implement GATT service cache" into lmp-dev

9 years agoImplement GATT service cache
Andre Eisenbach [Wed, 15 Oct 2014 22:41:52 +0000 (15:41 -0700)]
Implement GATT service cache

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

9 years agoam f777d24c: am 595bcb4c: (-s ours) DO NOT MERGE Do not set sig_id in gerneral reject...
Matthew Xie [Wed, 15 Oct 2014 23:39:49 +0000 (23:39 +0000)]
am f777d24c: am 595bcb4c: (-s ours) DO NOT MERGE Do not set sig_id in gerneral reject message per AVDTP SPEC 1.2

* commit 'f777d24c24b3c1ff309151cf2bc21e98559cbf56':
  DO NOT MERGE Do not set sig_id in gerneral reject message per AVDTP SPEC 1.2

9 years agoam 4a35476c: am 98ad505f: Increment seq before adding to packet in avdt_scb_hdl_write...
Matthew Xie [Wed, 15 Oct 2014 23:15:10 +0000 (23:15 +0000)]
am 4a35476c: am 98ad505f: Increment seq before adding to packet in avdt_scb_hdl_write_req_no_frag

* commit '4a35476c4ade75b985fa46f1ab82dad92a6b0810':
  Increment seq before adding to packet in avdt_scb_hdl_write_req_no_frag

9 years agoam 595bcb4c: (-s ours) DO NOT MERGE Do not set sig_id in gerneral reject message...
Matthew Xie [Wed, 15 Oct 2014 20:09:29 +0000 (20:09 +0000)]
am 595bcb4c: (-s ours) DO NOT MERGE Do not set sig_id in gerneral reject 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

9 years agoDO NOT MERGE Do not set sig_id in gerneral reject message per AVDTP SPEC 1.2
Matthew Xie [Mon, 13 Oct 2014 20:50:29 +0000 (13:50 -0700)]
DO NOT MERGE Do not set sig_id in gerneral reject message per AVDTP SPEC 1.2

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

9 years agoam 98ad505f: Increment seq before adding to packet in avdt_scb_hdl_write_req_no_frag
Matthew Xie [Wed, 15 Oct 2014 19:12:36 +0000 (19:12 +0000)]
am 98ad505f: Increment seq before adding to packet in avdt_scb_hdl_write_req_no_frag

* commit '98ad505f577599870cf0ae281a5d035e2e2453f9':
  Increment seq before adding to packet in avdt_scb_hdl_write_req_no_frag

9 years agoLE: Serialize multiple connection parameter update requests
Chaojing Sun [Wed, 8 Oct 2014 00:07:05 +0000 (17:07 -0700)]
LE: Serialize multiple connection parameter update requests

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

9 years agoIncrement seq before adding to packet in avdt_scb_hdl_write_req_no_frag
Matthew Xie [Mon, 13 Oct 2014 21:50:30 +0000 (14:50 -0700)]
Increment seq before adding to packet in avdt_scb_hdl_write_req_no_frag

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

9 years agoMerge "Add support of advertising through standard instance.(4/4)" into lmp-sprout-dev
Wei Wang [Mon, 13 Oct 2014 23:02:31 +0000 (23:02 +0000)]
Merge "Add support of advertising through standard instance.(4/4)" into lmp-sprout-dev

9 years agoMerge "Added missing A2DP priority on java alarm service" into lmp-dev
Andre Eisenbach [Fri, 10 Oct 2014 18:13:13 +0000 (18:13 +0000)]
Merge "Added missing A2DP priority on java alarm service" into lmp-dev

9 years agoAdded missing A2DP priority on java alarm service
Mattias Agren [Wed, 8 Oct 2014 23:16:12 +0000 (01:16 +0200)]
Added missing A2DP priority on java alarm service

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

9 years agoRevert "Unable to connect to a Motorola s705 until Bluetooth was toggled of and back on"
Andre Eisenbach [Fri, 10 Oct 2014 16:11:27 +0000 (09:11 -0700)]
Revert "Unable to connect to a Motorola s705 until Bluetooth was toggled of 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

9 years agoAdd support of advertising through standard instance.(4/4)
Satya Calloji [Fri, 26 Sep 2014 23:18:23 +0000 (16:18 -0700)]
Add support of advertising through standard instance.(4/4)

Handled the case of standard ADV when Multi ADV is not
supported by controller

Bug:17641092

Change-Id: I129a7faaf027985c63197e7298dbd2507905d29f

9 years agoam ba2f6d99: (-s ours) Revert "anthias:17614185:Bluetooth: Getbuf returning invalid...
Simon Wilson [Wed, 8 Oct 2014 17:34:06 +0000 (17:34 +0000)]
am ba2f6d99: (-s ours) Revert "anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer"

* commit 'ba2f6d995d058bc9e77d860d0d755e4ae6086deb':
  Revert "anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer"

9 years agoam ba2f6d99: Revert "anthias:17614185:Bluetooth: Getbuf returning invalid buffer...
Simon Wilson [Wed, 8 Oct 2014 16:56:25 +0000 (16:56 +0000)]
am ba2f6d99: Revert "anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer"

* commit 'ba2f6d995d058bc9e77d860d0d755e4ae6086deb':
  Revert "anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer"

9 years agoRevert "anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer"
Simon Wilson [Wed, 8 Oct 2014 16:42:54 +0000 (09:42 -0700)]
Revert "anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer"

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.

9 years agoam 46bfe63d: (-s ours) DO NOT MERGE AVRCP: Proper handling of Fragmented AVCTP packet
Mallikarjuna GB [Tue, 7 Oct 2014 22:22:59 +0000 (22:22 +0000)]
am 46bfe63d: (-s ours) DO NOT MERGE AVRCP: Proper handling of Fragmented AVCTP packet

* commit '46bfe63d383fd077e521d69321e011aff824bd39':
  DO NOT MERGE AVRCP: Proper handling of Fragmented AVCTP packet

9 years agoam c1ccb0d9: (-s ours) anthias:17614185:Bluetooth: Getbuf returning invalid buffer...
Maggie_Lee [Tue, 7 Oct 2014 22:22:58 +0000 (22:22 +0000)]
am c1ccb0d9: (-s ours) anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer

* commit 'c1ccb0d9854cea4b2cd09bbd57fc1e1081eb96b9':
  anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer

9 years agoMerge "Fix an "array index out of bound" bug for RPA." into lmp-dev
Wei Wang [Mon, 6 Oct 2014 19:16:26 +0000 (19:16 +0000)]
Merge "Fix an "array index out of bound" bug for RPA." into lmp-dev

9 years agoMerge "Raise A2DP threat priority to avoid music breaks" into lmp-dev
Andre Eisenbach [Mon, 6 Oct 2014 01:28:18 +0000 (01:28 +0000)]
Merge "Raise A2DP threat priority to avoid music breaks" into lmp-dev

9 years agoLE: Peer device's latest RPA is not being applied
Satya Calloji [Wed, 24 Sep 2014 01:27:09 +0000 (18:27 -0700)]
LE: Peer device's latest RPA is not being applied

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>

9 years agoRaise A2DP threat priority to avoid music breaks
Mattias Agren [Thu, 2 Oct 2014 07:43:04 +0000 (09:43 +0200)]
Raise A2DP threat priority to avoid music breaks

* 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

9 years agoam 46bfe63d: DO NOT MERGE AVRCP: Proper handling of Fragmented AVCTP packet
Mallikarjuna GB [Fri, 3 Oct 2014 21:28:38 +0000 (21:28 +0000)]
am 46bfe63d: DO NOT MERGE AVRCP: Proper handling of Fragmented AVCTP packet

* commit '46bfe63d383fd077e521d69321e011aff824bd39':
  DO NOT MERGE AVRCP: Proper handling of Fragmented AVCTP packet

9 years agoDO NOT MERGE AVRCP: Proper handling of Fragmented AVCTP packet
Mallikarjuna GB [Sun, 10 Nov 2013 08:00:25 +0000 (13:30 +0530)]
DO NOT MERGE AVRCP: Proper handling of Fragmented AVCTP packet

- 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

9 years agoFix an "array index out of bound" bug for RPA.
Wei Wang [Fri, 3 Oct 2014 17:58:03 +0000 (10:58 -0700)]
Fix an "array index out of bound" bug for RPA.

Also returns no more than BTM_BLE_MULTI_ADV_MAX for max advertise
instances.

Bug:17810619
Change-Id: If655e207b641fd4cd1590ae47b28185dc9f7cbbb

9 years agoMerge "Remove HOGP device from background connection list" into lmp-dev
Matthew Xie [Thu, 25 Sep 2014 17:29:56 +0000 (17:29 +0000)]
Merge "Remove HOGP device from background connection list" into lmp-dev

9 years agoam c1ccb0d9: anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer
Maggie_Lee [Wed, 24 Sep 2014 19:10:04 +0000 (19:10 +0000)]
am c1ccb0d9: anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer

* commit 'c1ccb0d9854cea4b2cd09bbd57fc1e1081eb96b9':
  anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer

9 years agoNull check for irk entry
Priti Aghera [Wed, 24 Sep 2014 17:06:40 +0000 (10:06 -0700)]
Null check for irk entry

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

9 years agoanthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer
Maggie_Lee [Wed, 24 Sep 2014 00:17:02 +0000 (17:17 -0700)]
anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer

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

9 years agoMerge "Enable flow control when tx buffer is full and peer stuck in receiving" into...
Matthew Xie [Tue, 23 Sep 2014 06:05:59 +0000 (06:05 +0000)]
Merge "Enable flow control when tx buffer is full and peer stuck in receiving" into lmp-dev

9 years agoRemove HOGP device from background connection list
Nitin Arora [Fri, 6 Dec 2013 05:11:26 +0000 (21:11 -0800)]
Remove HOGP device from background connection list

This adds logic to remove the device from whitelist when user unpairs or
disconnects device.
Bug: 17318494
Change-Id: I43c06dd16c665f9ce2e71a0e031c4f0f11a4012e

9 years agoAll 00 mac address with advt
Satya Calloji [Wed, 17 Sep 2014 05:44:43 +0000 (22:44 -0700)]
All 00 mac address with advt

Read the controller features before local name read

Bug 17505545
Change-Id: I7995a8c714ebec6e1751af5371edfd29c74b12ea

9 years agoEnable flow control when tx buffer is full and
Zhenye Zhu [Wed, 17 Sep 2014 23:59:52 +0000 (16:59 -0700)]
Enable flow control when tx buffer is full and
peer stuck in receiving

bug 17525124
Change-Id:Ic67e9c0aab7e64afc9679733e6c3de10a28078d7

9 years agoCheck userial fd before reading
Chris Manton [Mon, 15 Sep 2014 15:48:35 +0000 (08:48 -0700)]
Check userial fd before reading

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

9 years agoMerge "Add ability to preserve existing snoop log" into lmp-dev
Andre Eisenbach [Wed, 17 Sep 2014 23:55:58 +0000 (23:55 +0000)]
Merge "Add ability to preserve existing snoop log" into lmp-dev

9 years agoAdd ability to preserve existing snoop log
Andre Eisenbach [Wed, 17 Sep 2014 23:40:53 +0000 (16:40 -0700)]
Add ability to preserve existing snoop log

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

9 years agoMerge "For pairing over le transport, set default device type and address type" into...
Matthew Xie [Wed, 17 Sep 2014 20:50:55 +0000 (20:50 +0000)]
Merge "For pairing over le transport, set default device type and address type" into lmp-dev

9 years agoFor pairing over le transport, set default device type and address type
Matthew Xie [Tue, 16 Sep 2014 07:55:03 +0000 (00:55 -0700)]
For pairing over le transport, set default device type and address type

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

9 years agoDocument LE IO capabilities and use BR/EDR constant for LE
Andre Eisenbach [Wed, 17 Sep 2014 15:45:56 +0000 (08:45 -0700)]
Document LE IO capabilities and use BR/EDR constant for LE

This removes a hack to set LE IO capabilities and reuses the existing
constant defined in bt_target.h.

Change-Id: I3c97629bd092ac78bd673afc29458775b2bce836

9 years agohost cannot recover when connection exceed controller capability
Priti Aghera [Wed, 10 Sep 2014 18:42:10 +0000 (11:42 -0700)]
host cannot recover when connection exceed controller capability

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

9 years agoAvoid premature LE connection notifaction to app
Prerepa Viswanadham [Thu, 11 Sep 2014 00:08:11 +0000 (17:08 -0700)]
Avoid premature LE connection notifaction to app

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

9 years agoMerge "Fix issues with manufacturer ID prefix scan filter." into lmp-dev
Wei Wang [Fri, 12 Sep 2014 22:15:26 +0000 (22:15 +0000)]
Merge "Fix issues with manufacturer ID prefix scan filter." into lmp-dev

9 years agoMerge "Fix ADV data exceeding max adv packet length" into lmp-dev
Wei Wang [Fri, 12 Sep 2014 22:14:16 +0000 (22:14 +0000)]
Merge "Fix ADV data exceeding max adv packet length" into lmp-dev

9 years agoLE: Use random address when initiating background connections
Andre Eisenbach [Thu, 11 Sep 2014 21:09:40 +0000 (14:09 -0700)]
LE: Use random address when initiating background connections

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

9 years agoFix ADV data exceeding max adv packet length
Satya Calloji [Sat, 6 Sep 2014 00:16:33 +0000 (17:16 -0700)]
Fix ADV data exceeding max adv packet length

Fixed the 128-bit UUID handling during setting up
of adv data/scan response

Bug:16799331
Change-Id: I81e4ab0a80a5c1b7abf012dccc29eead54229b21

9 years agoMerge "LE link_xmit_quota is not correctly allocated" into lmp-dev
Andre Eisenbach [Wed, 10 Sep 2014 17:28:15 +0000 (17:28 +0000)]
Merge "LE link_xmit_quota is not correctly allocated" into lmp-dev

9 years agoMerge "SMP doesn't detect the event of local processing taking more than SMP timeout...
Andre Eisenbach [Wed, 10 Sep 2014 17:27:47 +0000 (17:27 +0000)]
Merge "SMP doesn't detect the event of local processing taking more than SMP timeout (30 sec)" into lmp-dev

9 years agoLE link_xmit_quota is not correctly allocated
Mudumba Ananth [Fri, 11 Jul 2014 07:05:54 +0000 (00:05 -0700)]
LE link_xmit_quota is not correctly allocated

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

9 years agoMerge "LE: Remove stored link key if encryption fails due to missing key (remote...
Andre Eisenbach [Tue, 9 Sep 2014 22:34:51 +0000 (22:34 +0000)]
Merge "LE: Remove stored link key if encryption fails due to missing key (remote)" into lmp-dev

9 years agoMerge "If L2CA_ConnectFixedChnl fails, free L2CAP lcb for the attempted connection...
Andre Eisenbach [Tue, 9 Sep 2014 19:56:07 +0000 (19:56 +0000)]
Merge "If L2CA_ConnectFixedChnl fails, free L2CAP lcb for the attempted connection" into lmp-dev

9 years agoFixed SMP pairing failure due to race condition
Priti Aghera [Tue, 9 Sep 2014 18:30:25 +0000 (11:30 -0700)]
Fixed SMP pairing failure due to race condition

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

9 years agoSMP doesn't detect the event of local processing taking more than SMP timeout (30...
Mudumba Ananth [Fri, 4 Jul 2014 10:15:37 +0000 (03:15 -0700)]
SMP doesn't detect the event of local processing taking more than SMP timeout (30 sec)

Bug: 16560957
Change-Id: I1113f367187a30e01fa3d5d2a5ccb0243580e06b

9 years agoIf L2CA_ConnectFixedChnl fails, free L2CAP lcb for the attempted connection
Mudumba Ananth [Fri, 4 Jul 2014 06:14:43 +0000 (23:14 -0700)]
If L2CA_ConnectFixedChnl fails, free L2CAP lcb for the attempted connection

Bug: 16560957
Change-Id: I91fd2cc90435d0b899474b555b4a4ab00306c156

9 years agoMerge "LE: Disable background connections if RPA offloading is not supported" into...
Andre Eisenbach [Tue, 9 Sep 2014 01:48:20 +0000 (01:48 +0000)]
Merge "LE: Disable background connections if RPA offloading is not supported" into lmp-dev

9 years agoLE: Disable background connections if RPA offloading is not supported
Andre Eisenbach [Mon, 18 Aug 2014 18:20:06 +0000 (11:20 -0700)]
LE: Disable background connections if RPA offloading is not supported

If the local device does not support RPA offloading, background
connections to a resolvable random address will not work. Added callback
to indicate to the application writer that the requested operation is
not supported.

Bug: 16831527
Change-Id: I083d66b16704e997f52a40ea4daced3056b50ad5

9 years agoFix issues with manufacturer ID prefix scan filter.
Satya Calloji [Wed, 3 Sep 2014 17:01:44 +0000 (10:01 -0700)]
Fix issues with manufacturer ID prefix scan filter.

Handled the case of no manufacturer data in filter configuration

Bug:17324059
Change-Id: I87c2c44644f808bd88f4d8681ff53e2d92815658

9 years agoLE: Remove stored link key if encryption fails due to missing key (remote)
Priti Aghera [Fri, 29 Aug 2014 18:21:28 +0000 (11:21 -0700)]
LE: Remove stored link key if encryption fails due to missing key (remote)

Remove the link key if encryption fails due to missing key or
authentication error. When a remote device loses the bond, all
HOGP services cached should be discarded and all client configuration
descriptors needs to be re-enabled. This will ensure successful
re-connection.

Bug: 15022622
Change-Id: Ie1730830c0cbbc294e2cd579d7dca69d16cf8218

9 years agoNotify that link is up after LE read remote features completes
Priti Aghera [Mon, 8 Sep 2014 20:04:29 +0000 (13:04 -0700)]
Notify that link is up after LE read remote features completes

ACL link up notifaction was not sent after LE read remote features was successful.
Thus, total ACL link up count was not updated. Included a link up notification
after LE read remote features is successfull.

Bug: 17410697
Change-Id: I41fc640e76fa99354cb63d9b0b3031582178c057

9 years agoMake sure conn_id is valid before using it
Matthew Xie [Sun, 7 Sep 2014 23:08:59 +0000 (16:08 -0700)]
Make sure conn_id is valid before using it

Bug: 17401266
Change-Id: I5f36e13b3ccb327f191db33123fff98858f07c5f

9 years agoAvoid premature LE connection notifaction to app
Priti Aghera [Tue, 2 Sep 2014 22:41:56 +0000 (15:41 -0700)]
Avoid premature LE connection notifaction to app

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.
bug 17326529

Change-Id: Id731bf02e8d5d5a68db12e0478b8eb74723eb95d

9 years agoSet random address before connection request
Priti Aghera [Thu, 4 Sep 2014 20:29:28 +0000 (13:29 -0700)]
Set random address before connection request

Send Set_Random_Address when privacy is enabled. If Set_Random_Address
is not sent to controller, Connection request will be sent with host
address as all 0's

Bug: 17386986
Change-Id: I59877e52bf76a56696800ff0e75487c633adde3c

9 years agoMerge "Add an override for entering sniff mode after idle on FTS and OTP" into lmp-dev
Fred Quintana [Thu, 4 Sep 2014 21:43:04 +0000 (21:43 +0000)]
Merge "Add an override for entering sniff mode after idle on FTS and OTP" into lmp-dev

9 years agoMerge "Fix error in tick calculation when timer is removed" into lmp-dev
Andre Eisenbach [Thu, 4 Sep 2014 19:48:19 +0000 (19:48 +0000)]
Merge "Fix error in tick calculation when timer is removed" into lmp-dev

9 years agoFix error in tick calculation when timer is removed
Andre Eisenbach [Thu, 4 Sep 2014 19:43:05 +0000 (12:43 -0700)]
Fix error in tick calculation when timer is removed

A previous changed introduced an error in the timer tick calculation
when removing a timer. This could lead to timers expiring sooner than
expected.

Bug: 17390240
Change-Id: Id3291aaf492a7178782e6f804dad71387c3c9382

9 years agoMerge "Limit the time PAN can occupy the BTU stack thread" into lmp-dev
Andre Eisenbach [Thu, 4 Sep 2014 18:11:39 +0000 (18:11 +0000)]
Merge "Limit the time PAN can occupy the BTU stack thread" into lmp-dev

9 years agoAdd an override for entering sniff mode after idle on FTS and OTP
Fred Quintana [Wed, 3 Sep 2014 23:23:14 +0000 (16:23 -0700)]
Add an override for entering sniff mode after idle on FTS and OTP

Change-Id: I5e3d164898563478ddf5d21197e682600f8cc33f

9 years agoAvoid race condition in SBC encoder initialization
Andre Eisenbach [Wed, 3 Sep 2014 19:48:44 +0000 (12:48 -0700)]
Avoid race condition in SBC encoder initialization

In the A2DP media task, btif_a2dp_encoder_update() relies on the fact
that btif_a2dp_encoder_init() is called beforehand. Otherwise division
by zero errors will occur.

Since _init() called after the audio stream is opened, and _update() is
called in resonse the the audio stream being opened, a race condition
could ensue where _update() was called before open.

This patch changes the A2DP stream start sequence to ensure the SBC
encoder is initialized before the updated parameters are calculated.

Bug: 17339248
Change-Id: I6ed36a7fff0e4aa672a8866727030681eb4b3dfc

9 years agoLimit the time PAN can occupy the BTU stack thread
Zhenye Zhu [Tue, 26 Aug 2014 21:26:56 +0000 (14:26 -0700)]
Limit the time PAN can occupy the BTU stack thread

Also make sure tap read/write are non-blocking and PAN does not use the
complete shared buffer pool to avoid GKI buffer overruns.

Bug: 16374840
Change-Id: I6f96d1c8d2804d253d33fe37ff87275e03e55ddd

9 years agoMerge "Clean up fd when failed to add monitor thread" into lmp-dev
Matthew Xie [Wed, 3 Sep 2014 19:28:34 +0000 (19:28 +0000)]
Merge "Clean up fd when failed to add monitor thread" into lmp-dev