OSDN Git Service

android-x86/system-bt.git
9 years agoDo not log LE encryption keys or passkey
Andre Eisenbach [Tue, 9 Dec 2014 22:08:58 +0000 (14:08 -0800)]
Do not log LE encryption keys or passkey

Bug: 18687167
Change-Id: I2a2a7113e6bc7cfb22a6bd6f16d16ce2b7c84cff

9 years agoLE: Ignore non-volatile GATT service cache for non-bonded devices
Andre Eisenbach [Thu, 4 Dec 2014 23:04:23 +0000 (15:04 -0800)]
LE: Ignore non-volatile GATT service cache for non-bonded devices

If a device is not bonded, the non-volatile GATT service cache should
not be used. Only bonded devices have the capability to invalidate the
cache using the service changed indication.

Bug: 18571592
Change-Id: Ia75aa14f1c862a18237e78d24b63c22cf1dc82a8

9 years agoam cf7f6a15: Prevent Java call for acquiring already held wakelock
Andre Eisenbach [Thu, 4 Dec 2014 21:37:25 +0000 (21:37 +0000)]
am cf7f6a15: Prevent Java call for acquiring already held wakelock

* commit 'cf7f6a154aed48659260d391994dc59151be937b':
  Prevent Java call for acquiring already held wakelock

9 years agoMerge "Remove unnecessary check of multiple advertise instance count." into lmp-mr1-dev
Wei Wang [Thu, 4 Dec 2014 01:42:56 +0000 (01:42 +0000)]
Merge "Remove unnecessary check of multiple advertise instance count." into lmp-mr1-dev

9 years agoPrevent Java call for acquiring already held wakelock
Andre Eisenbach [Wed, 3 Dec 2014 18:35:53 +0000 (10:35 -0800)]
Prevent Java call for acquiring already held wakelock

Change-Id: Icf455b6aa7c0c1bf7abf7ea9700cfde17f6c7c2b

9 years agoMerge "PAN TAP fd is not monitored in all cases" into lmp-mr1-dev
Matthew Xie [Wed, 3 Dec 2014 22:15:11 +0000 (22:15 +0000)]
Merge "PAN TAP fd is not monitored in all cases" into lmp-mr1-dev

9 years agoMerge "Make GKI_TIMER_INTERVAL_FOR_WAKELOCK configurable for different target" into...
Matthew Xie [Wed, 3 Dec 2014 04:18:03 +0000 (04:18 +0000)]
Merge "Make GKI_TIMER_INTERVAL_FOR_WAKELOCK configurable for different target" into lmp-mr1-dev

9 years agoMake GKI_TIMER_INTERVAL_FOR_WAKELOCK configurable for different target
Matthew Xie [Wed, 3 Dec 2014 01:06:03 +0000 (17:06 -0800)]
Make GKI_TIMER_INTERVAL_FOR_WAKELOCK configurable for different target

Set the default value as 3000 ms
Bug: 18549150

Change-Id: I1d5b4fca627c22fdd8a32a41d5beac6837b6dff4

9 years agoAdd server-side callback for change in MTU (2/4)
Andre Eisenbach [Wed, 26 Nov 2014 20:56:55 +0000 (12:56 -0800)]
Add server-side callback for change in MTU (2/4)

When a client requests to update the LE transport MTU, the server
currently does not get notified and can therefor not properly size
notifications appropriate to the current MTU.

Bug: 18388114
Change-Id: Ice355f8919d4f69876574df1d90ce7d31f42bc4f

9 years agoRemove unnecessary check of multiple advertise instance count.
Wei Wang [Wed, 26 Nov 2014 20:47:49 +0000 (12:47 -0800)]
Remove unnecessary check of multiple advertise instance count.

Bug:18539121
Change-Id: I841e4323ed4995bd9f8117681a759f52995d071f

9 years agoPAN TAP fd is not monitored in all cases
Zhenye Zhu [Tue, 25 Nov 2014 23:51:07 +0000 (15:51 -0800)]
PAN TAP fd is not monitored in all cases

Bug: 18271987
Change-Id: I348f3851a955b5277e7cdf0102583eaaef2ef0f3

9 years agoam 254b5ba2: gki_buffer: add missing mutex unlock
Simon Wilson [Wed, 26 Nov 2014 00:59:38 +0000 (00:59 +0000)]
am 254b5ba2: gki_buffer: add missing mutex unlock

* commit '254b5ba2e3f4c44b82a0369579b66bafcd0d6aa2':
  gki_buffer: add missing mutex unlock

9 years agogki_buffer: add missing mutex unlock
Simon Wilson [Tue, 25 Nov 2014 22:11:29 +0000 (14:11 -0800)]
gki_buffer: add missing mutex unlock

Bug: 18511282
Change-Id: Iea5248d5c9ba8690d0c2f462ec04784476309797

9 years agoMerge "Enforce Authentication for incoming HID connection" into lmp-mr1-dev
Matthew Xie [Mon, 24 Nov 2014 20:34:18 +0000 (20:34 +0000)]
Merge "Enforce Authentication for incoming HID connection" into lmp-mr1-dev

9 years agoam 654c376f: DO NOT MERGE Reduce TIMER_INTERVAL_FOR_WAKELOCK_IN_MS to 100ms
Simon Wilson [Sat, 22 Nov 2014 00:24:57 +0000 (00:24 +0000)]
am 654c376f: DO NOT MERGE Reduce TIMER_INTERVAL_FOR_WAKELOCK_IN_MS to 100ms

* commit '654c376fda3035af5b9090edc2a0a32382baf21c':
  DO NOT MERGE Reduce TIMER_INTERVAL_FOR_WAKELOCK_IN_MS to 100ms

9 years agoDO NOT MERGE Reduce TIMER_INTERVAL_FOR_WAKELOCK_IN_MS to 100ms
Simon Wilson [Fri, 21 Nov 2014 17:37:49 +0000 (09:37 -0800)]
DO NOT MERGE Reduce TIMER_INTERVAL_FOR_WAKELOCK_IN_MS to 100ms

The bluedroid wakelock locked time has increased 2.5x since K.
Reduce the 3s interval to reduce the time that the wakelock is
held, allowing the kernel to suspend more frequently. By
reducing this, wakelock usage returns to roughly K levels.

This in turn reduces BT process power usage.

Bug: 18357273
Change-Id: I7c3bddffafb0fa59468b8dd5718220be8ac85506

9 years agoClean up SetADV and ScanResp data memory leak.
Satya Calloji [Mon, 20 Oct 2014 04:28:46 +0000 (21:28 -0700)]
Clean up SetADV and ScanResp data memory leak.

Bug:18045480
Change-Id: Ic433f4aa26bd08e84c53c447be9d5278e16ebd55

9 years agoLE: Use LE specific I/O capabilities
Andre Eisenbach [Tue, 18 Nov 2014 17:39:00 +0000 (09:39 -0800)]
LE: Use LE specific I/O capabilities

In an attempt to make the I/O capability configuration more reasable and
overwritable per platform, the BR/EDR specific I/O capabilities were
used for LE. In SMP, the I/O capabilities flag is mapped differently,
thus a separate flag is required to configure the LE I/O capabilities.

Bug: 18245986
Change-Id: I6b4ba8f8a1d60ea25729e49d305e3653e94928c6

9 years agoam a59f47f2: DO NOT MERGE Remove overflow rate limiting when reading A2DP frames
Andre Eisenbach [Tue, 18 Nov 2014 17:15:26 +0000 (17:15 +0000)]
am a59f47f2: DO NOT MERGE Remove overflow rate limiting when reading A2DP frames

* commit 'a59f47f27b2962828afd8d90d1a1d21206e32324':
  DO NOT MERGE Remove overflow rate limiting when reading A2DP frames

9 years agoEnforce Authentication for incoming HID connection
Priti Aghera [Wed, 12 Nov 2014 18:28:35 +0000 (10:28 -0800)]
Enforce Authentication for incoming HID connection

Enforce Authentication in addition to encryption for all incoming
HID connections.

Bug 17887668

Change-Id: Ib0d6cd6d8e793823c541a1b4468dcce89f297181
(cherry picked from commit 6d6502909c1dd1766db1fea2cb638866e137a7bf)

9 years agoUse the device type from saved properties instead of assuming default
Matthew Xie [Mon, 10 Nov 2014 18:24:46 +0000 (10:24 -0800)]
Use the device type from saved properties instead of assuming default

DUMO device can do both BLE and BREDR operations. It was wrong
to assign BLE or BREDR type to it.
Bug: 18275230

Change-Id: I8d6c17e5157ba29a1af459629de9e2d6f6dc5e99

9 years agoDO NOT MERGE Remove overflow rate limiting when reading A2DP frames
Andre Eisenbach [Fri, 7 Nov 2014 23:46:04 +0000 (15:46 -0800)]
DO NOT MERGE Remove overflow rate limiting when reading A2DP frames

A2DP now supports adjusting the number of A2DP frames sent per timer
tick to adjust for timer drift and missed media task ticks. When the
signal to the headset/speakers becomes interrupted, the number of
packets to be read can queue up and rate limiting will not allow for the
queue to be cleared.

The overflow mechanism introduced in commit 4aebca4 will cause the media
task to stop sending packets completely, which can underflow the jutter
buffer on the remote device and lead to audio drop-outs.

This patch removes the overflow mechanism and also adds code do discard
audio frames that could not be sent to the remote device (weak signal
etc) to allow the device to stay in sync and not build up audio delays.

Also added additional debug logging and changed the UIPC flush mechanism
to address an issue where reading byte by byte causes an endless flush
loop if remote UIPC producer writes data faster than the flush loop
consumes it.

Bug: 18244205
Change-Id: I9a424984806bb2a464877399804b3355b2c439c3
(cherry picked from commit c5916e97384f07ec5a2e061e6af24f70107c74a2)

9 years agoRemove overflow rate limiting when reading A2DP frames
Andre Eisenbach [Fri, 7 Nov 2014 23:46:04 +0000 (15:46 -0800)]
Remove overflow rate limiting when reading A2DP frames

A2DP now supports adjusting the number of A2DP frames sent per timer
tick to adjust for timer drift and missed media task ticks. When the
signal to the headset/speakers becomes interrupted, the number of
packets to be read can queue up and rate limiting will not allow for the
queue to be cleared.

The overflow mechanism introduced in commit 4aebca4 will cause the media
task to stop sending packets completely, which can underflow the jutter
buffer on the remote device and lead to audio drop-outs.

This patch removes the overflow mechanism and also adds code do discard
audio frames that could not be sent to the remote device (weak signal
etc) to allow the device to stay in sync and not build up audio delays.

Also added additional debug logging and changed the UIPC flush mechanism
to address an issue where reading byte by byte causes an endless flush
loop if remote UIPC producer writes data faster than the flush loop
consumes it.

Bug: 18326405
Change-Id: I9a424984806bb2a464877399804b3355b2c439c3

9 years agoBluetooth fails to turn off with keyboard and headset connected
Chaojing Sun [Sat, 8 Nov 2014 00:42:46 +0000 (16:42 -0800)]
Bluetooth fails to turn off with keyboard and headset connected

When HOGP keyboard is connecting and BT off is requested, if there
is any HOGP data that was received during this state, it causes the
following side-effects:
- LE data was not thrown away in disconnecting state, instead it is
now being used as indication of link establishement
-The above triggers the link open callback for fix channel and
causes the BT off failure.

Check L2CAP link state and always discard the fixed channel data
received in disconnecting state solves the problem.

Bug: 17793437
Change-Id: I633d5e6346e952daa2abd642effad2f260954fdf

9 years agoam b407515f: Fix "no instances found for adv" when stop BLE scanning.
Satya Calloji [Thu, 6 Nov 2014 20:33:53 +0000 (20:33 +0000)]
am b407515f: Fix "no instances found for adv" when stop BLE scanning.

* commit 'b407515ffa145b1a2cab01467da03c92aeb0e8eb':
  Fix "no instances found for adv" when stop BLE scanning.

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 2933de99: am f37767a1: HOGP: Do not remove device from whitelist on encryption...
Andre Eisenbach [Tue, 4 Nov 2014 23:49:36 +0000 (23:49 +0000)]
am 2933de99: am f37767a1: HOGP: Do not remove device from whitelist on encryption failure

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

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 [Tue, 4 Nov 2014 00:19:18 +0000 (00:19 +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
automerge: 0570fd9  -s ours

* commit '0570fd9c9cf0929140e8d16ebe78a5189f8b01bb':

9 years agoam 87303c76: Increment seq before adding to packet in avdt_scb_hdl_write_req_no_frag...
Matthew Xie [Tue, 4 Nov 2014 00:19:14 +0000 (00:19 +0000)]
am 87303c76: Increment seq before adding to packet in avdt_scb_hdl_write_req_no_frag automerge: 98ad505 automerge: f81ffdb
automerge: 6d11a01

* commit '6d11a01aa3770a3b23086f08c9691617bb0c9578':

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 020cccca: am 5fe98634: am ba2f6d99: Revert "anthias:17614185:Bluetooth: Getbuf...
Simon Wilson [Mon, 3 Nov 2014 20:56:14 +0000 (20:56 +0000)]
am 020cccca: am 5fe98634: am ba2f6d99: Revert "anthias:17614185:Bluetooth: Getbuf returning invalid buffer pointer" automerge: 8403c6d

* commit '020ccccabd8bfb7bb863433a86793d3df6c32ed5':

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 36eac517: am 27c93b25: am 46bfe63d: DO NOT MERGE AVRCP: Proper handling of Fragmen...
Mallikarjuna GB [Mon, 3 Nov 2014 20:37:52 +0000 (20:37 +0000)]
am 36eac517: am 27c93b25: am 46bfe63d: DO NOT MERGE AVRCP: Proper handling of Fragmented AVCTP packet automerge: f9336d3  -s ours

* commit '36eac517f8ac4220315673fb9fbe172ae5430c7d':

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

* commit '9624c4d6ee066ffc70c9f920b073dafecfb81b8e':

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 agoMerge "audio HAL: remove misleading error log" into lmp-mr1-dev
Eric Laurent [Thu, 30 Oct 2014 16:03:11 +0000 (16:03 +0000)]
Merge "audio HAL: remove misleading error log" into lmp-mr1-dev

9 years agoaudio HAL: remove misleading error log
Eric Laurent [Thu, 30 Oct 2014 00:17:31 +0000 (17:17 -0700)]
audio HAL: remove misleading error log

Bug: 17916028.
Change-Id: I4badb9208eeb973a08b4f8463ee287f6bfb3dd01

9 years agoam 903285cb: am 472c2a7b: Don\'t starve a BT ACL link with 0 xmit quota
Prerepa Viswanadham [Wed, 29 Oct 2014 18:51:16 +0000 (18:51 +0000)]
am 903285cb: am 472c2a7b: Don\'t starve a BT ACL link with 0 xmit quota

* commit '903285cb2f4fef96f74de771e868b277453d6f21':
  Don't starve a BT ACL link with 0 xmit quota

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 agoMerge "Make sure now_us returns a value bigger than the previous one" into lmp-mr1-dev
Matthew Xie [Tue, 28 Oct 2014 22:39:14 +0000 (22:39 +0000)]
Merge "Make sure now_us returns a value bigger than the previous one" into lmp-mr1-dev

9 years agoMake sure now_us returns a value bigger than the previous one
Matthew Xie [Tue, 28 Oct 2014 18:05:26 +0000 (11:05 -0700)]
Make sure now_us returns a value bigger than the previous one

On some platforms clock_gettime may sometimes return a current
time that is earlier than a previous time. While it rarely
happens, we need cover the case anyway.

Bug: 18154020
Change-Id: I3846487aa45d0b11aeb63fa68af8826b864248fa

9 years agoLE: Make local privacy configurable
Andre Eisenbach [Fri, 24 Oct 2014 16:55:34 +0000 (09:55 -0700)]
LE: Make local privacy configurable

Bug: 17753401
Change-Id: I288ea8b6194d91d18485d0f3f1bbf997f97a26dd

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