OSDN Git Service
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
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
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
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
Simon Wilson [Tue, 25 Nov 2014 22:11:29 +0000 (14:11 -0800)]
gki_buffer: add missing mutex unlock
Bug:
18511282
Change-Id: Iea5248d5c9ba8690d0c2f462ec04784476309797
Matthew Xie [Mon, 24 Nov 2014 20:34:18 +0000 (20:34 +0000)]
Merge "Enforce Authentication for incoming HID connection" into lmp-mr1-dev
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
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
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
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
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
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)
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
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)
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
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
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.
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
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
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
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
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':
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':
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':
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':
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':
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':
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':
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':
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':
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':
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':
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':
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':
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':
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':
Eric Laurent [Thu, 30 Oct 2014 16:03:11 +0000 (16:03 +0000)]
Merge "audio HAL: remove misleading error log" into lmp-mr1-dev
Eric Laurent [Thu, 30 Oct 2014 00:17:31 +0000 (17:17 -0700)]
audio HAL: remove misleading error log
Bug:
17916028.
Change-Id: I4badb9208eeb973a08b4f8463ee287f6bfb3dd01
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
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
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
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
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
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
Andre Eisenbach [Fri, 24 Oct 2014 16:55:34 +0000 (09:55 -0700)]
LE: Make local privacy configurable
Bug:
17753401
Change-Id: I288ea8b6194d91d18485d0f3f1bbf997f97a26dd
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
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
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
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
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)
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
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
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
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
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
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
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
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
Andre Eisenbach [Thu, 16 Oct 2014 06:14:36 +0000 (06:14 +0000)]
Merge "LE: Serialize multiple connection parameter update requests" into lmp-dev
Andre Eisenbach [Thu, 16 Oct 2014 06:14:17 +0000 (06:14 +0000)]
Merge "Implement GATT service cache" into lmp-dev
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
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
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
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
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
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
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
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
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
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
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
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
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
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"
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"
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.
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
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
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
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
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>
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
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
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
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
Matthew Xie [Thu, 25 Sep 2014 17:29:56 +0000 (17:29 +0000)]
Merge "Remove HOGP device from background connection list" into lmp-dev
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
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
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
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
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
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
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
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
Andre Eisenbach [Wed, 17 Sep 2014 23:55:58 +0000 (23:55 +0000)]
Merge "Add ability to preserve existing snoop log" into lmp-dev
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
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
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
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
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