OSDN Git Service

android-x86/system-bt.git
8 years agoam 1cf812f6: Ensure thread priority is raised for media task / UIPC
Andre Eisenbach [Sat, 19 Sep 2015 16:07:40 +0000 (16:07 +0000)]
am 1cf812f6: Ensure thread priority is raised for media task / UIPC

* commit '1cf812f61823c981406f18b2577f43b69e80253d':
  Ensure thread priority is raised for media task / UIPC

8 years agoam ef7d8cb8: Change UHID socket to be non-blocking
Andre Eisenbach [Sat, 19 Sep 2015 16:07:40 +0000 (16:07 +0000)]
am ef7d8cb8: Change UHID socket to be non-blocking

* commit 'ef7d8cb8b012e77c9b0c596c5ad4b0ffb7e5dde9':
  Change UHID socket to be non-blocking

8 years agoEnsure thread priority is raised for media task / UIPC
Andre Eisenbach [Sat, 19 Sep 2015 03:13:53 +0000 (20:13 -0700)]
Ensure thread priority is raised for media task / UIPC

Bug: 23978964
Change-Id: I36b6d05bb82eb0283eed3b465038d65890c4c245

8 years agoChange UHID socket to be non-blocking
Andre Eisenbach [Thu, 17 Sep 2015 22:16:20 +0000 (15:16 -0700)]
Change UHID socket to be non-blocking

On some platforms, the logs indicate that the BTU task is stalled by
UHID driver when writing the HID descriptor to the kernel. This patch
converts the UHID socket to non-blocking to avoid stalling the main
BTU task.

Bug: 23978964
Change-Id: I5a7a3e106fb2c967d68f077faedcd4fe62bbd912

8 years agoDO NOT MERGE Use POSIX timer API for wake alarms instead of OSI callouts.
Sharvil Nanavati [Mon, 7 Sep 2015 08:05:19 +0000 (01:05 -0700)]
DO NOT MERGE Use POSIX timer API for wake alarms instead of OSI callouts.

This change increases RFCOMM throughput by a little over 50%. We
were paying a pretty major cost in setting up / tearing down wake
timers by going through JNI and Binder over to AlarmService.

There are a few gotchas with this implementation, particularly
because the Linux kernel implementation of wake timers is somewhat
buggy.

Bug: 23375670
Change-Id: I27558f439e57696d912b968f56a48e5e4098860b

8 years agoam 03ca1894: Merge "Allow BT inquiry while discovery is in progress." into mnc-dr-dev
Andre Eisenbach [Wed, 9 Sep 2015 18:15:41 +0000 (18:15 +0000)]
am 03ca1894: Merge "Allow BT inquiry while discovery is in progress." into mnc-dr-dev

* commit '03ca189412e3f8ec7c5963339af172c9276b3b9b':
  Allow BT inquiry while discovery is in progress.

8 years agoMerge "Allow BT inquiry while discovery is in progress." into mnc-dr-dev
Andre Eisenbach [Wed, 9 Sep 2015 18:10:57 +0000 (18:10 +0000)]
Merge "Allow BT inquiry while discovery is in progress." into mnc-dr-dev

8 years agoam 313a933e: Merge "Eliminate recursive calling when handling GATT related errors...
Andre Eisenbach [Wed, 9 Sep 2015 18:04:33 +0000 (18:04 +0000)]
am 313a933e: Merge "Eliminate recursive calling when handling GATT related errors" into mnc-dr-dev

* commit '313a933ef3f55ad5121ff70851718b812cf05135':
  Eliminate recursive calling when handling GATT related errors

8 years agoMerge "Eliminate recursive calling when handling GATT related errors" into mnc-dr-dev
Andre Eisenbach [Wed, 9 Sep 2015 17:55:55 +0000 (17:55 +0000)]
Merge "Eliminate recursive calling when handling GATT related errors" into mnc-dr-dev

8 years agoAllow BT inquiry while discovery is in progress.
tturney [Tue, 8 Sep 2015 21:42:09 +0000 (14:42 -0700)]
Allow BT inquiry while discovery is in progress.

BT Inquiry is disallowed when service discovery
is in progress. Innitially when GATT discovery
is in progress (crosskey pairing), it resulted
in inquiry requests being rejected. During an
insecure connection like OPP, bonding link key
is not stored. In an earlier patch (b820aec7),
BR/EDR discovery was bypassed if the bonding was
temporary. However, this was not done for LE.
Applying the same logic to LE, resolved the
inquiry issue reported in this bug.

Bug: 23468169
Change-Id: I6111c80a420aeb0bc36a0393eb215c112512d251

8 years agoEliminate recursive calling when handling GATT related errors
Pavlin Radoslavov [Sat, 5 Sep 2015 00:55:09 +0000 (17:55 -0700)]
Eliminate recursive calling when handling GATT related errors

If there are errors when processing GATT related events (e.g.,
configuring the MTU), don't use recursive calls into
bta_gattc_sm_execute(), because it breaks the free-ing of some
of the memory.

Bug: 23756301
Change-Id: I3c685170e868ffbf4e488d2bb5a31904e3f7b39d

8 years agoam 72abbbea: Fix issue where bluesleep idle timer is not started
wang ping [Mon, 7 Sep 2015 23:56:39 +0000 (23:56 +0000)]
am 72abbbea: Fix issue where bluesleep idle timer is not started

* commit '72abbbeaa9220cf30c1d9f21aadd52ba3dd6ea4e':
  Fix issue where bluesleep idle timer is not started

8 years agoFix issue where bluesleep idle timer is not started
wang ping [Sat, 5 Sep 2015 17:48:09 +0000 (10:48 -0700)]
Fix issue where bluesleep idle timer is not started

Sometimes allow_device_sleep() is called before wake_assert, this result in transmit_done
does not start idle timer. This is because the "wake_state" does not match while
allow_device_sleep() is called before wake_assert() is called. So start idle timer
anyway when transmit_done is called.

Bug: 23754156
Change-Id: I5437aea0abc4b7f5cf847701e2d0a889c6823fcb

9 years agoMerge "DO NOT MERGE Directly acquire wake locks from the Bluetooth stack." into cw...
Sharvil Nanavati [Thu, 3 Sep 2015 21:03:00 +0000 (21:03 +0000)]
Merge "DO NOT MERGE Directly acquire wake locks from the Bluetooth stack." into cw-e-dev

9 years agoMerge "Implementation of net_test_bluedroid as a GTest." into cw-e-dev
Joshua Schwarz [Wed, 2 Sep 2015 07:26:59 +0000 (07:26 +0000)]
Merge "Implementation of net_test_bluedroid as a GTest." into cw-e-dev

9 years agoam 65d1c84f: Fix btwrite timer timeout for Angler (2/2)
tturney [Wed, 2 Sep 2015 01:12:48 +0000 (01:12 +0000)]
am 65d1c84f: Fix btwrite timer timeout for Angler (2/2)

* commit '65d1c84f5b4c2d452b4927ab7f8670a4951db3ce':
  Fix btwrite timer timeout for Angler (2/2)

9 years agoDO NOT MERGE Directly acquire wake locks from the Bluetooth stack.
Sharvil Nanavati [Tue, 1 Sep 2015 06:50:05 +0000 (23:50 -0700)]
DO NOT MERGE Directly acquire wake locks from the Bluetooth stack.

The wake lock callouts go through JNI and then across Binder to
PowerManager. As a result, the cost of each callout is very high.
There are cases where the stack is acquiring and releasing the wake
lock tens of times per second. When that happens, the CPU load on
some devices can reach 100% and the RFCOMM throughput can drop by
50% or more.

This change reduces the cost of acqiring / releasing a wake lock.
Instead of JNI + Binder + PowerManager overhead, we simply write to
the /sys/power/wake_lock and /sys/power/wake_unlock nodes. The cost
of each is a single syscall.

Bug: 23375670
Change-Id: I760a86b557b02c3d70be7a902c943b7ee2f515b1

9 years agoFix btwrite timer timeout for Angler (2/2)
tturney [Mon, 31 Aug 2015 22:16:59 +0000 (15:16 -0700)]
Fix btwrite timer timeout for Angler (2/2)

When calculating the appropriate LPM's idle timeout,
the local chip name was NULL. This is fixed by calculating
LMP's idle timeout when the chip is enabling.

Bug: 23248798
Change-Id: I8ee2b28fb4363359e035e242fdcff8a736ee448c

9 years agoImplementation of net_test_bluedroid as a GTest.
Joshua Schwarz [Thu, 27 Aug 2015 21:15:26 +0000 (14:15 -0700)]
Implementation of net_test_bluedroid as a GTest.

Change-Id: If9fc9a26fe58858a107b8ad6ac9f1e757ba07f90

9 years agoam 0908eac5: am 24923939: LE Multi-Advertising State Change Sub-event Wrong Variable...
Jacob Lee [Sat, 29 Aug 2015 00:12:39 +0000 (00:12 +0000)]
am 0908eac5: am 24923939: LE Multi-Advertising State Change Sub-event Wrong Variable Type

* commit '0908eac54232fd876e355baf50c74edd91f2b89a':
  LE Multi-Advertising State Change Sub-event Wrong Variable Type

9 years agoam 24923939: LE Multi-Advertising State Change Sub-event Wrong Variable Type
Jacob Lee [Sat, 29 Aug 2015 00:04:35 +0000 (00:04 +0000)]
am 24923939: LE Multi-Advertising State Change Sub-event Wrong Variable Type

* commit '249239391c732c25c5edb62636cfe188131af3a4':
  LE Multi-Advertising State Change Sub-event Wrong Variable Type

9 years agoLE Multi-Advertising State Change Sub-event Wrong Variable Type
Jacob Lee [Wed, 26 Aug 2015 06:43:59 +0000 (14:43 +0800)]
LE Multi-Advertising State Change Sub-event Wrong Variable Type

Wrong connection handle type in multi-adv event parsing,
causing random address (confirm value) mismatch and pairing failure.

Bug id: 23201007

Change-Id: I13ce231360937e711f61eb0777805b07bcde7074

9 years agoam ed9a5c76: am dcfafe9a: Fix incorrect SetConnScanParam function mapping
Sunny Kapdi [Fri, 28 Aug 2015 21:26:02 +0000 (21:26 +0000)]
am ed9a5c76: am dcfafe9a: Fix incorrect SetConnScanParam function mapping

* commit 'ed9a5c76f2807676155970535138ca51c072aab1':
  Fix incorrect SetConnScanParam function mapping

9 years agoam dcfafe9a: Fix incorrect SetConnScanParam function mapping
Sunny Kapdi [Fri, 28 Aug 2015 21:16:26 +0000 (21:16 +0000)]
am dcfafe9a: Fix incorrect SetConnScanParam function mapping

* commit 'dcfafe9af755c06bc64fd7ad072233ceb7a1abc6':
  Fix incorrect SetConnScanParam function mapping

9 years agoFix incorrect SetConnScanParam function mapping
Sunny Kapdi [Thu, 27 Aug 2015 07:37:31 +0000 (00:37 -0700)]
Fix incorrect SetConnScanParam function mapping

BTA_DM_API_BLE_CONN_SCAN_PARAM_EVT is defined before
BTA_DM_API_BLE_SCAN_PARAM_EVT in the enum but the corresponding
entries in bta_dm_action were inverted. This resulted in incorrect
invocation of set_conn_scan_params while trying to set parameters
for scanning. The call was hence failing here and was not
resulting in setting of the new scan parameters in the Controller
irrespective of the scan mode selected from the App. This would
essentially result in the breakage of ScanSettings.SCAN_MODE_<xx>
Android SDK APIs.

Bug: 23602042
Change-Id: I17e1b14a32250e3ccb7631a67690ec2e0a6bc321

9 years agoam ee8592f4: am b7460434: Fix memory corruption of BLE whitelist hashmap
Nitin Arora [Tue, 25 Aug 2015 23:22:48 +0000 (23:22 +0000)]
am ee8592f4: am b7460434: Fix memory corruption of BLE whitelist hashmap

* commit 'ee8592f44738ca438df9256e3e057250d014c740':
  Fix memory corruption of BLE whitelist hashmap

9 years agoam b7460434: Fix memory corruption of BLE whitelist hashmap
Nitin Arora [Tue, 25 Aug 2015 23:18:06 +0000 (23:18 +0000)]
am b7460434: Fix memory corruption of BLE whitelist hashmap

* commit 'b74604341c60628dc7bc8e8e69e3ce2acb4a5373':
  Fix memory corruption of BLE whitelist hashmap

9 years agoFix memory corruption of BLE whitelist hashmap
Nitin Arora [Fri, 21 Aug 2015 19:34:14 +0000 (12:34 -0700)]
Fix memory corruption of BLE whitelist hashmap

When adding devices to the whitelist for LE background connections, a
local variable is used as the hashmap key, preventing any successful
lookups going forward. Thus the device will repeatedly add the same
device to the whitelist and preventing successful connections going
forward.

Bug: 23423602
Change-Id: I3d2590c0a1dd66c6e1864ea53f875a713660b645

9 years agoam 5c572ffb: am aa41fec0: Check the return value when reading HCI type byte
Pavlin Radoslavov [Mon, 24 Aug 2015 05:05:15 +0000 (05:05 +0000)]
am 5c572ffb: am aa41fec0: Check the return value when reading HCI type byte

* commit '5c572ffb5b61e5c7f7fe1080bdb27098c9bc5511':
  Check the return value when reading HCI type byte

9 years agoam aa41fec0: Check the return value when reading HCI type byte
Pavlin Radoslavov [Mon, 24 Aug 2015 05:00:20 +0000 (05:00 +0000)]
am aa41fec0: Check the return value when reading HCI type byte

* commit 'aa41fec0e36653e828bfc2a54fca11447ed56cc5':
  Check the return value when reading HCI type byte

9 years agoCheck the return value when reading HCI type byte
Pavlin Radoslavov [Thu, 20 Aug 2015 23:53:16 +0000 (16:53 -0700)]
Check the return value when reading HCI type byte

Add missing return value check when reading the HCI type byte.
This check is needed as a safeguard. For example, function
event_uart_has_bytes() could be called (indirectly)
within the run_reactor() loop not only when there are bytes to read,
but also if there is an error (e.g., EPOLLHUP | EPOLLRDHUP | EPOLLERR).

Bug: 23105107
Change-Id: Ic3b6e4d656406949e384c8106b0c607f7c221759

9 years agoMerge "Send current RPA instead of pseudo-address on connect." into cw-e-dev
Sharvil Nanavati [Thu, 20 Aug 2015 18:33:37 +0000 (18:33 +0000)]
Merge "Send current RPA instead of pseudo-address on connect." into cw-e-dev

9 years agoSend current RPA instead of pseudo-address on connect.
Sharvil Nanavati [Mon, 10 Aug 2015 20:00:06 +0000 (13:00 -0700)]
Send current RPA instead of pseudo-address on connect.

Bug: 23079777

Change-Id: If6da80392748cdaad2a4833dd31fe299b62c28e3

9 years agoam 28dd2209: am d2199cbb: Disable remote TCP connections
Pavlin Radoslavov [Wed, 19 Aug 2015 01:55:34 +0000 (01:55 +0000)]
am 28dd2209: am d2199cbb: Disable remote TCP connections

* commit '28dd2209e46711d08d77439f09d7b0ea55473038':
  Disable remote TCP connections

9 years agoam d2199cbb: Disable remote TCP connections
Pavlin Radoslavov [Wed, 19 Aug 2015 01:48:29 +0000 (01:48 +0000)]
am d2199cbb: Disable remote TCP connections

* commit 'd2199cbb8f361772819402b56e6fa46587a31c56':
  Disable remote TCP connections

9 years agoDisable remote TCP connections
Pavlin Radoslavov [Tue, 18 Aug 2015 01:54:22 +0000 (18:54 -0700)]
Disable remote TCP connections

For security reasons, TCP sockets now listen on the loopback
IPv4 address 127.0.0.1 for incoming TCP connections.

Bug: 23272146
Change-Id: I88523f643f305f2281740575d7011b6077bf0843

9 years agoam 66405510: am 1e1f1598: Merge "[DS] BTM_VSC_CHIP_CAPABILITY_M_VERSION doesn\'t...
Iliyan Malchev [Fri, 14 Aug 2015 05:49:48 +0000 (05:49 +0000)]
am 66405510: am 1e1f1598: Merge "[DS] BTM_VSC_CHIP_CAPABILITY_M_VERSION doesn\'t match" into mnc-dev

* commit '66405510b976c7a0507cee34a3573ad8148352a2':
  [DS] BTM_VSC_CHIP_CAPABILITY_M_VERSION doesn't match

9 years agoam 1e1f1598: Merge "[DS] BTM_VSC_CHIP_CAPABILITY_M_VERSION doesn\'t match" into mnc-dev
Iliyan Malchev [Fri, 14 Aug 2015 05:43:55 +0000 (05:43 +0000)]
am 1e1f1598: Merge "[DS] BTM_VSC_CHIP_CAPABILITY_M_VERSION doesn\'t match" into mnc-dev

* commit '1e1f1598c0574ccda0978bc31bf759708c33a0c9':
  [DS] BTM_VSC_CHIP_CAPABILITY_M_VERSION doesn't match

9 years agoMerge "[DS] BTM_VSC_CHIP_CAPABILITY_M_VERSION doesn't match" into mnc-dev
Iliyan Malchev [Fri, 14 Aug 2015 05:38:26 +0000 (05:38 +0000)]
Merge "[DS] BTM_VSC_CHIP_CAPABILITY_M_VERSION doesn't match" into mnc-dev

9 years agoam 1f7be749: am 8d88b1b7: Allocate large enough buffers when copying AVRC packets
Satya Calloji [Sat, 8 Aug 2015 01:12:28 +0000 (01:12 +0000)]
am 1f7be749: am 8d88b1b7: Allocate large enough buffers when copying AVRC packets

* commit '1f7be749df8f501c7683ced3afe90c361674844c':
  Allocate large enough buffers when copying AVRC packets

9 years agoam 8d88b1b7: Allocate large enough buffers when copying AVRC packets
Satya Calloji [Sat, 8 Aug 2015 01:06:46 +0000 (01:06 +0000)]
am 8d88b1b7: Allocate large enough buffers when copying AVRC packets

* commit '8d88b1b75c665772f714643a71e5974c7f6dd02c':
  Allocate large enough buffers when copying AVRC packets

9 years agoAllocate large enough buffers when copying AVRC packets
Satya Calloji [Fri, 7 Aug 2015 17:56:12 +0000 (10:56 -0700)]
Allocate large enough buffers when copying AVRC packets

AVRC response is created by copying the original received packet.
When allocating a buffer for the response, the buffer length
should be large enough to contain the response.

Bug: 22437809
Change-Id: I862d633e76d3c5221582459f19935a45e53577c7

9 years ago[DS] BTM_VSC_CHIP_CAPABILITY_M_VERSION doesn't match
Jacob Lee [Fri, 7 Aug 2015 03:17:28 +0000 (11:17 +0800)]
[DS] BTM_VSC_CHIP_CAPABILITY_M_VERSION doesn't match

In the document, the supported version is 96.
But, the defined supported version is 95 in the code.
The callback function btm_ble_vendor_capability_vsc_cmpl_cback
can not read number of track entries when it compare with 95
and supported version from firmware.

Bug: 22906552

Change-Id: I64e6f14f34ef3ed0ddc3fee2fad05eb03e5938f1
Signed-off-by: Jacob Lee <jacob.lee@mediatek.com>
9 years agoam c1553d3c: Load factory Bluetooth address from system property
Ajay Panicker [Thu, 6 Aug 2015 23:15:39 +0000 (23:15 +0000)]
am c1553d3c: Load factory Bluetooth address from system property

* commit 'c1553d3cab1a17cad8713ee61e1833903c0a6d89':
  Load factory Bluetooth address from system property

9 years agoLoad factory Bluetooth address from system property
Ajay Panicker [Mon, 3 Aug 2015 23:29:31 +0000 (16:29 -0700)]
Load factory Bluetooth address from system property

Implemented a check to grab the ro.boot.btmacaddr property in case the
device fails to receive an address beforehand.

Bug: 22618015
Change-Id: Ie322888e114a732f8e85c81793e3e5e5eacffc7a

9 years agoam 145348f4: am aa3be1a6: Implement Bluetooth settings factory reset (3/5)
Ajay Panicker [Wed, 5 Aug 2015 18:03:32 +0000 (18:03 +0000)]
am 145348f4: am aa3be1a6: Implement Bluetooth settings factory reset (3/5)

* commit '145348f4ab9aa14bdfb87b9329783c3cb59c455e':
  Implement Bluetooth settings factory reset (3/5)

9 years agoam aa3be1a6: Implement Bluetooth settings factory reset (3/5)
Ajay Panicker [Wed, 5 Aug 2015 17:55:36 +0000 (17:55 +0000)]
am aa3be1a6: Implement Bluetooth settings factory reset (3/5)

* commit 'aa3be1a696b9ae1142fe9f358ad5f97e99da7892':
  Implement Bluetooth settings factory reset (3/5)

9 years agoImplement Bluetooth settings factory reset (3/5)
Ajay Panicker [Tue, 28 Jul 2015 23:54:53 +0000 (16:54 -0700)]
Implement Bluetooth settings factory reset (3/5)

Implemented the factory reset function to be used to reset all bluetooth
settings on device to factory default

Bug: 16161518

9 years agoam 68a34519: am d63f7c0b: Add Dialog mouse & KB to blacklist for LE secure connections
Nitin Arora [Tue, 4 Aug 2015 16:47:40 +0000 (16:47 +0000)]
am 68a34519: am d63f7c0b: Add Dialog mouse & KB to blacklist for LE secure connections

* commit '68a345192d4722677d868a6c296b8d5dcb712778':
  Add Dialog mouse & KB to blacklist for LE secure connections

9 years agoam 02796552: am 84d13eda: Add an explicit check for AVRCP vendor data
Pavlin Radoslavov [Tue, 4 Aug 2015 16:47:40 +0000 (16:47 +0000)]
am 02796552: am 84d13eda: Add an explicit check for AVRCP vendor data

* commit '02796552c480e62cd321b248f2b7b5f71b9389db':
  Add an explicit check for AVRCP vendor data

9 years agoam d63f7c0b: Add Dialog mouse & KB to blacklist for LE secure connections
Nitin Arora [Tue, 4 Aug 2015 16:39:38 +0000 (16:39 +0000)]
am d63f7c0b: Add Dialog mouse & KB to blacklist for LE secure connections

* commit 'd63f7c0b26057f650fd30526758cd259c0b3480a':
  Add Dialog mouse & KB to blacklist for LE secure connections

9 years agoam 84d13eda: Add an explicit check for AVRCP vendor data
Pavlin Radoslavov [Tue, 4 Aug 2015 16:39:36 +0000 (16:39 +0000)]
am 84d13eda: Add an explicit check for AVRCP vendor data

* commit '84d13edac39c51290e858a71fea58925db3844bc':
  Add an explicit check for AVRCP vendor data

9 years agoAdd Dialog mouse & KB to blacklist for LE secure connections
Nitin Arora [Tue, 28 Jul 2015 23:00:55 +0000 (16:00 -0700)]
Add Dialog mouse & KB to blacklist for LE secure connections

This change allows the host to mask the Cross key bit in
the key distribution fields of the pairing request and
response while pairing with the Dialog keyboard and mouse
to prevent the remote from rejecting the DUT's pairing request.

Bug: 22799966
Change-Id: I89420e77875957c78e915c508de311d779fd03df

9 years agoAdd an explicit check for AVRCP vendor data
Pavlin Radoslavov [Tue, 4 Aug 2015 16:05:39 +0000 (09:05 -0700)]
Add an explicit check for AVRCP vendor data

Add an explicit check for AVRCP vendor data when parsing received vendor
commands or responses.

Bug: 21768387
Change-Id: I715de6fc7348d063c448971a8dae6dd1b00c7062

9 years agoam 856fa1bc: am caaa00f5: Fix a crash for a race condition during Bluetooth shutdown
Pavlin Radoslavov [Tue, 4 Aug 2015 05:37:45 +0000 (05:37 +0000)]
am 856fa1bc: am caaa00f5: Fix a crash for a race condition during Bluetooth shutdown

* commit '856fa1bcef4a5f28c310294c187e9d54b66f2e1e':
  Fix a crash for a race condition during Bluetooth shutdown

9 years agoam caaa00f5: Fix a crash for a race condition during Bluetooth shutdown
Pavlin Radoslavov [Tue, 4 Aug 2015 05:31:09 +0000 (05:31 +0000)]
am caaa00f5: Fix a crash for a race condition during Bluetooth shutdown

* commit 'caaa00f5ede96461e11de866ac15f5224442d1eb':
  Fix a crash for a race condition during Bluetooth shutdown

9 years agoFix a crash for a race condition during Bluetooth shutdown
Pavlin Radoslavov [Tue, 4 Aug 2015 04:58:45 +0000 (21:58 -0700)]
Fix a crash for a race condition during Bluetooth shutdown

This is same race condition observed in btif_media_task_aa_tx_flush_req()
because btif_media_task_aa_tx_flush_req() and btif_media_task_stop_aa_req()
are called back-to-bach.

This race condition is triggered when A2DP audio is streaming on shutdown:
"btif_a2dp_on_stopped() -> btif_media_task_stop_aa_req()" is called
to stop the particular audio stream, and this happens right after
the "cleanup() -> btif_a2dp_stop_media_task()" processing during
the shutdown of the Bluetooth stack.

Bug: 22700411
Change-Id: Ia0c98d44a108cf0f57731ac8129e4d76c9934542

9 years agoam cf92ded8: am 9de273d9: Fix CTS Verifier test for insecure RFCOMM connection.
Sharvil Nanavati [Sat, 1 Aug 2015 16:37:52 +0000 (16:37 +0000)]
am cf92ded8: am 9de273d9: Fix CTS Verifier test for insecure RFCOMM connection.

* commit 'cf92ded8275c25f63ac4d85a3720972dcdac0675':
  Fix CTS Verifier test for insecure RFCOMM connection.

9 years agoam 9de273d9: Fix CTS Verifier test for insecure RFCOMM connection.
Sharvil Nanavati [Fri, 31 Jul 2015 23:42:06 +0000 (23:42 +0000)]
am 9de273d9: Fix CTS Verifier test for insecure RFCOMM connection.

* commit '9de273d9fb99b9f612b8acd50e09225f60444363':
  Fix CTS Verifier test for insecure RFCOMM connection.

9 years agoFix CTS Verifier test for insecure RFCOMM connection.
Sharvil Nanavati [Fri, 31 Jul 2015 21:22:08 +0000 (14:22 -0700)]
Fix CTS Verifier test for insecure RFCOMM connection.

Closing an RFCOMM server socket does not remove the corresponding
service record from the security database. However, the RFCOMM
channel becomes free for reuse. The next RFCOMM server socket will
therefore "inherit" the service record for the closed one if it
happens to reuse the same channel.

Bug: 22880207
Change-Id: Ida3fee49e5f40667d9992dc4c4442f9289adae9e

9 years agoam 8bcdbb96: am efa5991f: Fix a NULL-pointer crash
Pavlin Radoslavov [Thu, 30 Jul 2015 00:53:09 +0000 (00:53 +0000)]
am 8bcdbb96: am efa5991f: Fix a NULL-pointer crash

* commit '8bcdbb96e6b07ca0fc0b88b0cf847922f3090452':
  Fix a NULL-pointer crash

9 years agoam efa5991f: Fix a NULL-pointer crash
Pavlin Radoslavov [Thu, 30 Jul 2015 00:36:30 +0000 (00:36 +0000)]
am efa5991f: Fix a NULL-pointer crash

* commit 'efa5991fc7dc3b9b74b73966a4bf5cd5aad9f06a':
  Fix a NULL-pointer crash

9 years agoFix a NULL-pointer crash
Pavlin Radoslavov [Wed, 29 Jul 2015 23:52:47 +0000 (16:52 -0700)]
Fix a NULL-pointer crash

It seems that the current implementation of btm_sec_encrypt_change()
does not handle the case when it is called with an invalid handle,
such as inside file btu_hcif.c :

  case HCI_SET_CONN_ENCRYPTION:
    /* Device refused to start encryption. ... */
    btm_sec_encrypt_change(BTM_INVALID_HCI_HANDLE, ...)

Bug: 22791224

Change-Id: Ide9404d0c82819399cf258ae3f90c25b352f1e20

9 years agoam 8214399e: am 48a4b9cd: Assign pseudo address for host-based RPA resolution matches
Andre Eisenbach [Wed, 29 Jul 2015 22:21:15 +0000 (22:21 +0000)]
am 8214399e: am 48a4b9cd: Assign pseudo address for host-based RPA resolution matches

* commit '8214399e7f31d218eeb36b2880150de891b23b1c':
  Assign pseudo address for host-based RPA resolution matches

9 years agoam 48a4b9cd: Assign pseudo address for host-based RPA resolution matches
Andre Eisenbach [Wed, 29 Jul 2015 22:08:16 +0000 (22:08 +0000)]
am 48a4b9cd: Assign pseudo address for host-based RPA resolution matches

* commit '48a4b9cd18a306a45249898008c73f80fb3b9d48':
  Assign pseudo address for host-based RPA resolution matches

9 years agoAssign pseudo address for host-based RPA resolution matches
Andre Eisenbach [Wed, 29 Jul 2015 19:36:06 +0000 (12:36 -0700)]
Assign pseudo address for host-based RPA resolution matches

Bug: 21963935
Change-Id: Id72001ce17996ea04c3eba32cebcac4dbbe317bc

9 years agoam e1fe0e08: am b61d25c5: Fix memory leak in A2DP event handler
Andre Eisenbach [Wed, 29 Jul 2015 19:48:17 +0000 (19:48 +0000)]
am e1fe0e08: am b61d25c5: Fix memory leak in A2DP event handler

* commit 'e1fe0e08d6385529b88192827ee4b9d76d462e94':
  Fix memory leak in A2DP event handler

9 years agoam b61d25c5: Fix memory leak in A2DP event handler
Andre Eisenbach [Wed, 29 Jul 2015 19:37:57 +0000 (19:37 +0000)]
am b61d25c5: Fix memory leak in A2DP event handler

* commit 'b61d25c52fcfa1853c7555acda61d848ef6be3e9':
  Fix memory leak in A2DP event handler

9 years agoFix memory leak in A2DP event handler
Andre Eisenbach [Wed, 29 Jul 2015 18:57:50 +0000 (11:57 -0700)]
Fix memory leak in A2DP event handler

btif_av_event_free_data() was not called in all states (idle state only)
leading to potential memory leaks.

Bug: 22822688
Change-Id: I40520c605c9a806e6cd5ee6e36c101d0aa8d4355

9 years agoam dbb1ad17: am 82c8b927: Reset LE encryption key size at LE disconnection only
Nitin Arora [Wed, 29 Jul 2015 10:06:19 +0000 (10:06 +0000)]
am dbb1ad17: am 82c8b927: Reset LE encryption key size at LE disconnection only

* commit 'dbb1ad17bae0fa3d0dc12795a73ea4a705e220ba':
  Reset LE encryption key size at LE disconnection only

9 years agoam 82c8b927: Reset LE encryption key size at LE disconnection only
Nitin Arora [Wed, 29 Jul 2015 08:15:32 +0000 (08:15 +0000)]
am 82c8b927: Reset LE encryption key size at LE disconnection only

* commit '82c8b9270ba962d5f271a833a3454baddbc063aa':
  Reset LE encryption key size at LE disconnection only

9 years agoReset LE encryption key size at LE disconnection only
Nitin Arora [Thu, 2 Jul 2015 21:08:39 +0000 (14:08 -0700)]
Reset LE encryption key size at LE disconnection only

This change checks the transport type on receiving the disconnection
and resets the encryption key size only if the LE disconnection
has taken place.
This fixes the issue where read request to characteristics that
require encryption,  fails after cross key derivation due to
disconnection of BR/EDR transport.

Bug: 22515016
Change-Id: If6aad91a628eabbb5a4b7f5c22812fe94d4c5db2

9 years agoam c3f8ba8a: am dab356e3: Promote AVCTP version to 1.4
Anubhav Gupta [Wed, 29 Jul 2015 07:31:43 +0000 (07:31 +0000)]
am c3f8ba8a: am dab356e3: Promote AVCTP version to 1.4

* commit 'c3f8ba8a309a4b967e17c6398213e2b6aedbfc80':
  Promote AVCTP version to 1.4

9 years agoam dab356e3: Promote AVCTP version to 1.4
Anubhav Gupta [Wed, 29 Jul 2015 07:12:35 +0000 (07:12 +0000)]
am dab356e3: Promote AVCTP version to 1.4

* commit 'dab356e3b0573303840e63cbafb1065d57a11e2c':
  Promote AVCTP version to 1.4

9 years agoPromote AVCTP version to 1.4
Anubhav Gupta [Tue, 28 Jul 2015 06:32:57 +0000 (12:02 +0530)]
Promote AVCTP version to 1.4

Promoting AVCTP version to 1.4 from 1.2 as Bluedroid stack
already has got support for the same.
Below changes are incorporated as part of this:
 - AVCTP version in SDP entry is upgraded to 1.4 for both AVRCP
   Target and controller role.
 - Service class #1 is added in extra for AVRCP Controller SDP
   entry to be in sync with AVCTP version change.
 - Browsing support is not enabled as that needs corresponding
   profile level implementation, which is currently unavailable.

Change-Id: I72f7f67eb0a789fd321e9468f2a51bb5e9385a89

9 years agoam 92339316: am 2ac9ae06: Fix a bug allocating buffers for fragmented AVRC packets
Anubhav Gupta [Tue, 28 Jul 2015 18:31:38 +0000 (18:31 +0000)]
am 92339316: am 2ac9ae06: Fix a bug allocating buffers for fragmented AVRC packets

* commit '92339316ba8c56354f0b22aa966bfd60772caa23':
  Fix a bug allocating buffers for fragmented AVRC packets

9 years agoam 2ac9ae06: Fix a bug allocating buffers for fragmented AVRC packets
Anubhav Gupta [Tue, 28 Jul 2015 18:08:54 +0000 (18:08 +0000)]
am 2ac9ae06: Fix a bug allocating buffers for fragmented AVRC packets

* commit '2ac9ae06be5091f6f2eef0022a3810752f127d04':
  Fix a bug allocating buffers for fragmented AVRC packets

9 years agoFix a bug allocating buffers for fragmented AVRC packets
Anubhav Gupta [Fri, 24 Jul 2015 17:14:00 +0000 (10:14 -0700)]
Fix a bug allocating buffers for fragmented AVRC packets

Use the correct offset_len when allocating buffers for AVRC
packets that need to be fragmented.

Bug: 22156175

Change-Id: I7db12474c84edacb4f0739d50a43e8cebdcca676

9 years agoam aeef91cb: am 1500b8d9: Fix for uhid_event size check
Amirhossein Simjour [Mon, 27 Jul 2015 23:33:52 +0000 (23:33 +0000)]
am aeef91cb: am 1500b8d9: Fix for uhid_event size check

* commit 'aeef91cb76eaa66199c005e548be6787be762d00':
  Fix for uhid_event size check

9 years agoam 1500b8d9: Fix for uhid_event size check
Amirhossein Simjour [Mon, 27 Jul 2015 23:21:16 +0000 (23:21 +0000)]
am 1500b8d9: Fix for uhid_event size check

* commit '1500b8d9b301d8d68b2910692ec47d0e5b42c129':
  Fix for uhid_event size check

9 years agoFix for uhid_event size check
Amirhossein Simjour [Mon, 20 Jul 2015 18:29:19 +0000 (14:29 -0400)]
Fix for uhid_event size check

The uhid_event function used to expect that the return value of each
read function call to match with the size of the struct uhid_event.
Since the header file doesn't match the kernel driver, these two size
don't always match. The exact size check is replaced with expecting
the minimum required size.

Bug: 20108348
Change-Id: Ib61537092b109296f8290d802b68fc2efe78888c

9 years agoam 62cfbb3a: am 760aa99b: Unpair HID device cleanup
Casper Bonde [Mon, 27 Jul 2015 18:18:50 +0000 (18:18 +0000)]
am 62cfbb3a: am 760aa99b: Unpair HID device cleanup

* commit '62cfbb3a13ad30b4043583a6bff901fb4599b19a':
  Unpair HID device cleanup

9 years agoam 191e588b: am c6137426: Fix the logic for stopping the Power Management timers.
Pavlin Radoslavov [Mon, 27 Jul 2015 18:18:48 +0000 (18:18 +0000)]
am 191e588b: am c6137426: Fix the logic for stopping the Power Management timers.

* commit '191e588b5fcd026066049fdda65a4ae49c3d685c':
  Fix the logic for stopping the Power Management timers.

9 years agoam 760aa99b: Unpair HID device cleanup
Casper Bonde [Mon, 27 Jul 2015 18:05:45 +0000 (18:05 +0000)]
am 760aa99b: Unpair HID device cleanup

* commit '760aa99b0f1fb7830dd5ff23ec8f5c5630b15989':
  Unpair HID device cleanup

9 years agoam c6137426: Fix the logic for stopping the Power Management timers.
Pavlin Radoslavov [Mon, 27 Jul 2015 18:05:44 +0000 (18:05 +0000)]
am c6137426: Fix the logic for stopping the Power Management timers.

* commit 'c6137426081fc55d8c94cd0e6b55cd0d0a52f12d':
  Fix the logic for stopping the Power Management timers.

9 years agoUnpair HID device cleanup
Casper Bonde [Fri, 3 Oct 2014 08:01:36 +0000 (10:01 +0200)]
Unpair HID device cleanup

When unparing HID devices, the attr_mask was not cleared.
By not clearing this data, some HID device will never be able
to connect again. (E.g. the Apple Magic Mouse)

Bug: 15566403
Change-Id: Ic80909dcecdf48d967c1a936b31554653761fa42
Signed-off-by: Casper Bonde <c.bonde@samsung.com>
9 years agoFix the logic for stopping the Power Management timers.
Pavlin Radoslavov [Sat, 25 Jul 2015 06:41:55 +0000 (23:41 -0700)]
Fix the logic for stopping the Power Management timers.

Previously, the logic for stopping the timers didn't take
into account whether each timer was already running.

Bug: 22666419
Change-Id: Ia99bf8be917e9ea69f478a954085336fc899040a

9 years agoam fd726554: am 196413f5: Fix TX queue overflow detection
Andre Eisenbach [Fri, 24 Jul 2015 19:54:23 +0000 (19:54 +0000)]
am fd726554: am 196413f5: Fix TX queue overflow detection

* commit 'fd726554d65013f6e68daf263630018de9ca15ed':
  Fix TX queue overflow detection

9 years agoam 196413f5: Fix TX queue overflow detection
Andre Eisenbach [Fri, 24 Jul 2015 19:37:52 +0000 (19:37 +0000)]
am 196413f5: Fix TX queue overflow detection

* commit '196413f5ca088ef97866092f02bb7571d2a44390':
  Fix TX queue overflow detection

9 years agoFix TX queue overflow detection
Andre Eisenbach [Wed, 22 Jul 2015 20:47:28 +0000 (13:47 -0700)]
Fix TX queue overflow detection

- Prevent possible endless loop if |nb_frame| is too high
- Remove off-by-one calculation before sending frames
- Remove log spam and add better debug info

Bug: 22658329
Change-Id: I374ee980aec48763beb49b4f6f8b076124cadf40

9 years agoam 09d39288: am 1076b7b0: Customize Bluetooth sniff interval
Pavlin Radoslavov [Fri, 24 Jul 2015 03:09:28 +0000 (03:09 +0000)]
am 09d39288: am 1076b7b0: Customize Bluetooth sniff interval

* commit '09d3928877e746c0e9dd3b8fe294a55432ec8d46':
  Customize Bluetooth sniff interval

9 years agoam 4e291106: am 197ee685: Fix a crash for a race condition during Bluetooth shutdown
Pavlin Radoslavov [Thu, 23 Jul 2015 19:22:18 +0000 (19:22 +0000)]
am 4e291106: am 197ee685: Fix a crash for a race condition during Bluetooth shutdown

* commit '4e29110681953c45bbf43799d38b69cd5b447806':
  Fix a crash for a race condition during Bluetooth shutdown

9 years agoam 8cc6e42e: am ac72840a: Update device type correctly in the NVRAM at inquiry result
Nitin Arora [Thu, 23 Jul 2015 19:22:17 +0000 (19:22 +0000)]
am 8cc6e42e: am ac72840a: Update device type correctly in the NVRAM at inquiry result

* commit '8cc6e42efaac326520e8f9e28bd9e4e5e113fa6d':
  Update device type correctly in the NVRAM at inquiry result

9 years agoam 1076b7b0: Customize Bluetooth sniff interval
Pavlin Radoslavov [Thu, 23 Jul 2015 19:21:32 +0000 (19:21 +0000)]
am 1076b7b0: Customize Bluetooth sniff interval

* commit '1076b7b0a642d0f5c5948819bcd07e4bc0fb2738':
  Customize Bluetooth sniff interval

9 years agoCustomize Bluetooth sniff interval
Pavlin Radoslavov [Thu, 23 Jul 2015 05:49:26 +0000 (22:49 -0700)]
Customize Bluetooth sniff interval

Fix an earlier commit that prevents from customizing some of
the Bluetooth sniff parameters - those cannot be overwritten
anymore in the bdroid_buildcfg.h file.

Also, fixed the indexing in tables bta_dm_pm_cfg[]
and bta_dm_pm_spec[]

Bug: 22676670
Change-Id: I3a7074b9a9c91d312dc5d4314b7c304baf4ae20d

9 years agoam 197ee685: Fix a crash for a race condition during Bluetooth shutdown
Pavlin Radoslavov [Wed, 22 Jul 2015 20:24:37 +0000 (20:24 +0000)]
am 197ee685: Fix a crash for a race condition during Bluetooth shutdown

* commit '197ee6856b43d8eea137a7f37798ee2a012ce518':
  Fix a crash for a race condition during Bluetooth shutdown

9 years agoam ac72840a: Update device type correctly in the NVRAM at inquiry result
Nitin Arora [Wed, 22 Jul 2015 20:23:42 +0000 (20:23 +0000)]
am ac72840a: Update device type correctly in the NVRAM at inquiry result

* commit 'ac72840a3d7409adbb3ee4904ab1ed5de2d66586':
  Update device type correctly in the NVRAM at inquiry result

9 years agoFix a crash for a race condition during Bluetooth shutdown
Pavlin Radoslavov [Wed, 22 Jul 2015 01:09:19 +0000 (18:09 -0700)]
Fix a crash for a race condition during Bluetooth shutdown

This race condition is triggered when A2DP audio is streaming on shutdown:
"btif_a2dp_on_stopped() -> btif_media_task_aa_tx_flush_req()" is called
to stop the particular audio stream, and this happens right after
the "cleanup() -> btif_a2dp_stop_media_task()" processing during
the shutdown of the Bluetooth stack.

Bug: 22602117
Change-Id: I5de6a8f15b6a2771dde2e299a5b60554063696a2

9 years agoam 04e684f8: Merge "Fix for uhid_event size check" into mnc-dr-dev
Amirhossein Simjour [Wed, 22 Jul 2015 14:31:20 +0000 (14:31 +0000)]
am 04e684f8: Merge "Fix for uhid_event size check" into mnc-dr-dev

* commit '04e684f8737d71c15bd1f7720333cce8e891a04e':
  Fix for uhid_event size check

9 years agoMerge "Fix for uhid_event size check" into mnc-dr-dev
Amirhossein Simjour [Wed, 22 Jul 2015 14:20:25 +0000 (14:20 +0000)]
Merge "Fix for uhid_event size check" into mnc-dr-dev