OSDN Git Service

android-x86/system-bt.git
10 years agoMerge "Bluetooth: Reset Disconnect Reason on Connection Establishment"
Matthew Xie [Thu, 19 Jun 2014 06:09:19 +0000 (06:09 +0000)]
Merge "Bluetooth: Reset Disconnect Reason on Connection Establishment"

10 years agoMerge "Bluedroid: Avoid multicast address for tun-tap interface"
Matthew Xie [Wed, 18 Jun 2014 23:16:48 +0000 (23:16 +0000)]
Merge "Bluedroid: Avoid multicast address for tun-tap interface"

10 years agoBluedroid: Avoid multicast address for tun-tap interface
Loic Poulain [Tue, 8 Apr 2014 06:46:01 +0000 (08:46 +0200)]
Bluedroid: Avoid multicast address for tun-tap interface

Linux Kernel disallows to set an ethernet multicast
address as ethernet device address.

The IEEE has specified that the most significant bit
of the most significant byte of a mac address is used
for multicast. If its a 1, that means multicast, 0
means unicast.

Bluedroid uses the BD address to set the tun-tap intf
mac address. This BD address can be randomly auto
generated, possibly with the multicast bit.

To avoid any address issue, this patch masks this bit
before setting the ethernet mac address.

Change-Id: Ifff4ec7237ae6cbef3b8d4c23096c5df65e1431c
Signed-off-by: Loic Poulain <loic.poulain@intel.com>
Reviewed-on: https://android.intel.com/184768
Reviewed-by: Zhang, Jianxun <jianxun.zhang@intel.com>
Tested-by: Zhang, Jianxun <jianxun.zhang@intel.com>
10 years agoMerge "Bluedroid: Fix HCI buffer size issue"
Matthew Xie [Wed, 11 Jun 2014 01:02:21 +0000 (01:02 +0000)]
Merge "Bluedroid: Fix HCI buffer size issue"

10 years agoBluedroid: Fix HCI buffer size issue
Loic Poulain [Fri, 4 Apr 2014 08:05:05 +0000 (10:05 +0200)]
Bluedroid: Fix HCI buffer size issue

The maximum HCI frame coming from the kernel is
the maximum ACL HCI data packet (1024) + ACL HCI
header (4) + H4 header (1) = 1029.
Previous maximum read value was 1016 which is
incorrect and leads to data sync problem for
frames > 1016.

Change-Id: I37f74ad4c612d802e6758b3fe0eb156bcf265b4f
Signed-off-by: Loic Poulain <loic.poulain@intel.com>
10 years agoMerge "Bluedroid: Fix UUID unsigned/signed comparison"
Matthew Xie [Tue, 10 Jun 2014 23:34:17 +0000 (23:34 +0000)]
Merge "Bluedroid: Fix UUID unsigned/signed comparison"

10 years agoam 556cc857: Merge "Remove unused LOCAL_LDLIBS."
Ying Wang [Wed, 7 May 2014 22:47:17 +0000 (22:47 +0000)]
am 556cc857: Merge "Remove unused LOCAL_LDLIBS."

* commit '556cc857c33ed1043e6c8a1f9235ac3eab058251':
  Remove unused LOCAL_LDLIBS.

10 years agoMerge "Remove unused LOCAL_LDLIBS."
Ying Wang [Wed, 7 May 2014 22:44:06 +0000 (22:44 +0000)]
Merge "Remove unused LOCAL_LDLIBS."

10 years agoRemove unused LOCAL_LDLIBS.
Ying Wang [Wed, 7 May 2014 22:11:56 +0000 (15:11 -0700)]
Remove unused LOCAL_LDLIBS.

Change-Id: Ic5b17ad79d5796692c063714ea82f879c52b9857

10 years agoBluedroid: Fix UUID unsigned/signed comparison
lpoulain [Tue, 25 Mar 2014 06:05:56 +0000 (07:05 +0100)]
Bluedroid: Fix UUID unsigned/signed comparison

UUID type was never detected as a 16 bits UUID due to a comparison
between signed and unsigned char in uuidType().

Change-Id: I6205ab4c2568f03b4692e0ce8a1dec216f1cdc0e
Signed-off-by: lpoulain <loic.poulain@intel.com>
Signed-off-by: Yong Yao <yong.yao@intel.com>
10 years agoMerge commit 'b48f9962d57d9c500bfa8c8dbe65ce04f67918e5' into HEAD
Bill Yi [Tue, 29 Apr 2014 18:34:02 +0000 (11:34 -0700)]
Merge commit 'b48f9962d57d9c500bfa8c8dbe65ce04f67918e5' into HEAD

10 years agoMerge "Use 0000 as pin key for PORCHE_PAIRING_CONFLICT issue"
Matthew Xie [Tue, 22 Apr 2014 00:00:02 +0000 (00:00 +0000)]
Merge "Use 0000 as pin key for PORCHE_PAIRING_CONFLICT issue"

10 years agoMerge "Bluetooth: Adding Sniff feature for PAN Profile"
Matthew Xie [Mon, 21 Apr 2014 18:09:38 +0000 (18:09 +0000)]
Merge "Bluetooth: Adding Sniff feature for PAN Profile"

10 years agoMerge "bluedroid: audio_a2dp_hw 64 bit compile issues"
Mark Salyzyn [Thu, 17 Apr 2014 23:11:13 +0000 (23:11 +0000)]
Merge "bluedroid: audio_a2dp_hw 64 bit compile issues"

10 years agobluedroid: audio_a2dp_hw 64 bit compile issues
Mark Salyzyn [Thu, 17 Apr 2014 20:45:20 +0000 (13:45 -0700)]
bluedroid: audio_a2dp_hw 64 bit compile issues

Change-Id: Ieeb5d463215c503afb3fca9953c7b0248abf812f

10 years agoMerge "Fix bug where btpan_control_state_callback is called with invalid args."
Matthew Xie [Wed, 16 Apr 2014 20:49:20 +0000 (20:49 +0000)]
Merge "Fix bug where btpan_control_state_callback is called with invalid args."

10 years agoBluetooth: Adding Sniff feature for PAN Profile
Nitin Shivpure [Thu, 29 Aug 2013 15:58:59 +0000 (21:28 +0530)]
Bluetooth: Adding Sniff feature for PAN Profile

Sniff feature for PAN profile was not implemented in power
manager module of the stack, which was causing higher power
consumption after connecting PAN profile, Even though PAN
ACL link is idle & there is no data communication between
DUT & remote device. Adding sniff feature for PANU role &
NAP role to reduce power consumption.

Change-Id: Idf568f53a317abd536edf34fbdf1733fdf53b7d0

10 years agoMerge "Bluetooth:GAP: Add NULL check before accessing accept socket"
Matthew Xie [Tue, 8 Apr 2014 06:59:56 +0000 (06:59 +0000)]
Merge "Bluetooth:GAP: Add NULL check before accessing accept socket"

10 years agoMerge "Bluetooth: Clear wait flag on Start response."
Matthew Xie [Mon, 31 Mar 2014 19:45:33 +0000 (19:45 +0000)]
Merge "Bluetooth: Clear wait flag on Start response."

10 years agoUse 0000 as pin key for PORCHE_PAIRING_CONFLICT issue
Shobek Sam Attupurath [Wed, 17 Apr 2013 10:38:17 +0000 (16:08 +0530)]
Use 0000 as pin key for PORCHE_PAIRING_CONFLICT issue

For PORCHE_PAIRING_CONFLICT issue when there are no other paired devices
available in bluetooth list pairing always fails (as per implementation
in bluedroid stack).
In this case when pin key request is received use 0000 as the pin key
so that pairing is successful.

Bug 67614

Change-Id: I67b2e689cfcc52c93fdda62dd742812698baa0e6

10 years agoam f4471c7e: DO NOT MERGE Allow simultaneous LE Observe and BTM Inquiry/Scan
Nitin Arora [Sat, 22 Mar 2014 02:58:58 +0000 (02:58 +0000)]
am f4471c7e: DO NOT MERGE Allow simultaneous LE Observe and BTM Inquiry/Scan

* commit 'f4471c7e6ca7a0bd4846b2fe4fbe78d79ef37b81':
  DO NOT MERGE Allow simultaneous LE Observe and BTM Inquiry/Scan

10 years agoDO NOT MERGE Allow simultaneous LE Observe and BTM Inquiry/Scan
Nitin Arora [Sat, 22 Feb 2014 02:20:37 +0000 (18:20 -0800)]
DO NOT MERGE Allow simultaneous LE Observe and BTM Inquiry/Scan

This patch allows BTM inquiry and LE observe to be launched
and overlap each others' occurance by redirecting results
and handling states accordingly.

CRs-Fixed: 579505

Conflicts:
stack/btm/btm_ble_gap.c
bug 12939764

Change-Id: Ifde73f17f8d40e9ebfff3b49e409591189574ee0

10 years agoam a4611ac0: DO NOT MERGE: cherrypick from master to fix b/13289050
Andre Eisenbach [Thu, 20 Mar 2014 16:38:01 +0000 (16:38 +0000)]
am a4611ac0: DO NOT MERGE: cherrypick from master to fix b/13289050

* commit 'a4611ac05f07360785adcff8640da01a3894e4c5':
  DO NOT MERGE: cherrypick from master to fix b/13289050

10 years agoDO NOT MERGE: cherrypick from master to fix b/13289050
Andre Eisenbach [Wed, 5 Mar 2014 23:41:53 +0000 (15:41 -0800)]
DO NOT MERGE: cherrypick from master to fix b/13289050

LE: Add status callback function for LE broadcasts

Change-Id: If4342050ce1141a9c2111286e7b3cccdc012a91e

10 years agoam 07ea194a: Merge "DO NOT MERGE use bluetooth HID remote device name as input device...
Zhihai Xu [Fri, 14 Mar 2014 00:40:27 +0000 (00:40 +0000)]
am 07ea194a: Merge "DO NOT MERGE use bluetooth HID remote device name as input device name." into klp-dev

* commit '07ea194ac2518e98961632c4d1909f0af0809ea9':
  DO NOT MERGE use bluetooth HID remote device name as input device name.

10 years agoMerge "DO NOT MERGE use bluetooth HID remote device name as input device name." into...
Zhihai Xu [Wed, 12 Mar 2014 23:04:46 +0000 (23:04 +0000)]
Merge "DO NOT MERGE use bluetooth HID remote device name as input device name." into klp-dev

10 years agoam 45e9aaca: Merge "Fix bug in PAN code where no new PAN connections can be made."
Matthew Xie [Tue, 11 Mar 2014 18:52:01 +0000 (18:52 +0000)]
am 45e9aaca: Merge "Fix bug in PAN code where no new PAN connections can be made."

* commit '45e9aaca1c4e49f22cc23105aed6c625ad0d1278':
  Fix bug in PAN code where no new PAN connections can be made.

10 years agoam 509b2d73: Merge "TARGET_SIMULATOR is long dead."
Elliott Hughes [Tue, 11 Mar 2014 18:16:29 +0000 (18:16 +0000)]
am 509b2d73: Merge "TARGET_SIMULATOR is long dead."

* commit '509b2d7358545945eb22dde2449d4f8d6e3b3b09':
  TARGET_SIMULATOR is long dead.

10 years agoam 277ba466: Merge "Various fixes for LP64"
Narayan Kamath [Tue, 11 Mar 2014 18:16:22 +0000 (18:16 +0000)]
am 277ba466: Merge "Various fixes for LP64"

* commit '277ba466eb30755d2b158ebed650fd50b5701bee':
  Various fixes for LP64

10 years agoam 0d702d25: Merge "Fix warning "suggest braces around empty body in an \'if\' statem...
Narayan Kamath [Tue, 11 Mar 2014 18:16:08 +0000 (18:16 +0000)]
am 0d702d25: Merge "Fix warning "suggest braces around empty body in an \'if\' statement""

* commit '0d702d250777d385983b9f7c18467a764b29a7ed':
  Fix warning "suggest braces around empty body in an 'if' statement"

10 years agoDO NOT MERGE use bluetooth HID remote device name as input device name.
Zhihai Xu [Fri, 6 Dec 2013 22:29:29 +0000 (14:29 -0800)]
DO NOT MERGE use bluetooth HID remote device name as input device name.

bug:12003067
Change-Id: I74e4921047a27ee79fa1e3cd58056fde2958e60f

10 years agoam 47128cf9: Merge "Bluetooth: fix sniff issue with multiple rfcomm connection in...
Matthew Xie [Tue, 11 Mar 2014 00:38:23 +0000 (00:38 +0000)]
am 47128cf9: Merge "Bluetooth: fix sniff issue with multiple rfcomm connection in same ACL"

* commit '47128cf95b72eedb7a6da29687b1ff6b668b59d6':
  Bluetooth: fix sniff issue with multiple rfcomm connection in same ACL

10 years agoam 6bc62a36: Merge "Bluetooth: GAP: Update bonded device info immediately on NVRAM"
Matthew Xie [Tue, 11 Mar 2014 00:38:22 +0000 (00:38 +0000)]
am 6bc62a36: Merge "Bluetooth: GAP: Update bonded device info immediately on NVRAM"

* commit '6bc62a368da0a434a4e01f7bcb3273bd52a07568':
  Bluetooth: GAP: Update bonded device info immediately on NVRAM

10 years agoam f677f810: Merge "DO NOT MERGE Bluetooth: Cleanup bt_config.xml during BLE Scan...
Matthew Xie [Mon, 10 Mar 2014 18:09:46 +0000 (18:09 +0000)]
am f677f810: Merge "DO NOT MERGE Bluetooth: Cleanup bt_config.xml during BLE Scan" into klp-dev

* commit 'f677f81068640857f791276c472e34b08d08f3e6':
  DO NOT MERGE Bluetooth: Cleanup bt_config.xml during BLE Scan

10 years agoMerge "DO NOT MERGE Bluetooth: Cleanup bt_config.xml during BLE Scan" into klp-dev
Matthew Xie [Mon, 10 Mar 2014 18:04:56 +0000 (18:04 +0000)]
Merge "DO NOT MERGE Bluetooth: Cleanup bt_config.xml during BLE Scan" into klp-dev

10 years agoam 69218b16: Merge changes I6673d478,I953b9ca6 into klp-dev
Zhihai Xu [Mon, 10 Mar 2014 10:25:16 +0000 (10:25 +0000)]
am 69218b16: Merge changes I6673d478,I953b9ca6 into klp-dev

* commit '69218b169bd0ff9fdf1c5de148b3807e70de85de':
  DO NOT MERGE BLE stack doesn't handle multiple l2cap_conn_update requests
  DO NOT MERGE sometime the BLE connection parameter isnot updated for the first time

10 years agoam 27420a03: Merge "DO NOT MERGE BLE HID device connection failure due to security...
Zhihai Xu [Mon, 10 Mar 2014 10:25:14 +0000 (10:25 +0000)]
am 27420a03: Merge "DO NOT MERGE BLE HID device connection failure due to security error." into klp-dev

* commit '27420a0327c04ce9407d2fe9138dde7f6dfe94e0':
  DO NOT MERGE BLE HID device connection failure due to security error.

10 years agoam 14b75b78: Merge "DO NOT MERGE Remove the device from le backgrond connection white...
Zhihai Xu [Mon, 10 Mar 2014 10:25:09 +0000 (10:25 +0000)]
am 14b75b78: Merge "DO NOT MERGE Remove the device from le backgrond connection whitelist when it\'s unpaired" into klp-dev

* commit '14b75b785b730f95ddccfc7a31b048ed0277c96b':
  DO NOT MERGE Remove the device from le backgrond connection whitelist when it's unpaired

10 years agoam 87f26bcd: Merge "DO NOT MERGE BLE Secuity manager state machine generate wrong...
Zhihai Xu [Mon, 10 Mar 2014 10:25:08 +0000 (10:25 +0000)]
am 87f26bcd: Merge "DO NOT MERGE BLE Secuity manager state machine generate wrong pairing success event." into klp-dev

* commit '87f26bcdd92ea462266caf539edb4174834cac17':
  DO NOT MERGE BLE Secuity manager state machine generate wrong pairing success event.

10 years agoam ea8acc97: Merge "DO NOT MERGE fix a potential native crash during bluetooth sutdow...
Zhihai Xu [Mon, 10 Mar 2014 10:25:08 +0000 (10:25 +0000)]
am ea8acc97: Merge "DO NOT MERGE fix a potential native crash during bluetooth sutdown" into klp-dev

* commit 'ea8acc971f7c01427fd239e54344b43ac1a31e1c':
  DO NOT MERGE fix a potential native crash during bluetooth sutdown

10 years agoam 1e0849e9: Merge "DO NOT MERGE the HID device state is out of sync after upair...
Zhihai Xu [Mon, 10 Mar 2014 10:25:07 +0000 (10:25 +0000)]
am 1e0849e9: Merge "DO NOT MERGE the HID device state is out of sync after upair." into klp-dev

* commit '1e0849e99bdd716b7e172269cdad1d78b60a7ded':
  DO NOT MERGE the HID device state is out of sync after upair.

10 years agoam 30466dfd: Merge "DO NOT MERGE Can only support two HID report instance for BLE...
Zhihai Xu [Mon, 10 Mar 2014 10:25:06 +0000 (10:25 +0000)]
am 30466dfd: Merge "DO NOT MERGE Can only support two HID report instance for BLE HID." into klp-dev

* commit '30466dfd399b787ab0fca166b842c280d28feebf':
  DO NOT MERGE Can only support two HID report instance for BLE HID.

10 years agoam 7a528bc8: Merge "DO NOT MERGE read report array out of boundary for BLE HID device...
Zhihai Xu [Mon, 10 Mar 2014 10:25:06 +0000 (10:25 +0000)]
am 7a528bc8: Merge "DO NOT MERGE read report array out of boundary for BLE HID device." into klp-dev

* commit '7a528bc860c349b9d6ae6f8d6c86d54f9448cb0e':
  DO NOT MERGE read report array out of boundary for BLE HID device.

10 years agoam 7a6fad89: Merge "DO NOT MERGE need to increase maximum number HID report for HOGP...
Zhihai Xu [Mon, 10 Mar 2014 10:25:06 +0000 (10:25 +0000)]
am 7a6fad89: Merge "DO NOT MERGE need to increase maximum number HID report for HOGP" into klp-dev

* commit '7a6fad896244a387901572f70b1ce3471712ae34':
  DO NOT MERGE need to increase maximum number HID report for HOGP

10 years agoam 91f01220: DO NOT MERGE trouble syncing with fitbit and can\'t turn off bluetooth.
Zhihai Xu [Mon, 10 Mar 2014 10:25:05 +0000 (10:25 +0000)]
am 91f01220: DO NOT MERGE trouble syncing with fitbit and can\'t turn off bluetooth.

* commit '91f012208070d71e6e9e0f38aa36e78e99f2ff4e':
  DO NOT MERGE trouble syncing with fitbit and can't turn off bluetooth.

10 years agoMerge "Fix bug in PAN code where no new PAN connections can be made."
Matthew Xie [Mon, 10 Mar 2014 07:31:13 +0000 (07:31 +0000)]
Merge "Fix bug in PAN code where no new PAN connections can be made."

10 years agoMerge changes I6673d478,I953b9ca6 into klp-dev
Zhihai Xu [Mon, 10 Mar 2014 01:08:14 +0000 (01:08 +0000)]
Merge changes I6673d478,I953b9ca6 into klp-dev

* changes:
  DO NOT MERGE BLE stack doesn't handle multiple l2cap_conn_update requests
  DO NOT MERGE sometime the BLE connection parameter isnot updated for the first time

10 years agoMerge "DO NOT MERGE BLE HID device connection failure due to security error." into...
Zhihai Xu [Sun, 9 Mar 2014 19:08:59 +0000 (19:08 +0000)]
Merge "DO NOT MERGE BLE HID device connection failure due to security error." into klp-dev

10 years agoMerge "DO NOT MERGE Remove the device from le backgrond connection whitelist when...
Zhihai Xu [Sun, 9 Mar 2014 19:08:35 +0000 (19:08 +0000)]
Merge "DO NOT MERGE Remove the device from le backgrond connection whitelist when it's unpaired" into klp-dev

10 years agoMerge "DO NOT MERGE BLE Secuity manager state machine generate wrong pairing success...
Zhihai Xu [Sun, 9 Mar 2014 19:08:05 +0000 (19:08 +0000)]
Merge "DO NOT MERGE BLE Secuity manager state machine generate wrong pairing success event." into klp-dev

10 years agoMerge "DO NOT MERGE fix a potential native crash during bluetooth sutdown" into klp-dev
Zhihai Xu [Sun, 9 Mar 2014 19:07:33 +0000 (19:07 +0000)]
Merge "DO NOT MERGE fix a potential native crash during bluetooth sutdown" into klp-dev

10 years agoMerge "DO NOT MERGE the HID device state is out of sync after upair." into klp-dev
Zhihai Xu [Sun, 9 Mar 2014 19:07:17 +0000 (19:07 +0000)]
Merge "DO NOT MERGE the HID device state is out of sync after upair." into klp-dev

10 years agoMerge "DO NOT MERGE Can only support two HID report instance for BLE HID." into klp-dev
Zhihai Xu [Sun, 9 Mar 2014 19:06:38 +0000 (19:06 +0000)]
Merge "DO NOT MERGE Can only support two HID report instance for BLE HID." into klp-dev

10 years agoMerge "DO NOT MERGE read report array out of boundary for BLE HID device." into klp-dev
Zhihai Xu [Sun, 9 Mar 2014 19:05:49 +0000 (19:05 +0000)]
Merge "DO NOT MERGE read report array out of boundary for BLE HID device." into klp-dev

10 years agoMerge "DO NOT MERGE need to increase maximum number HID report for HOGP" into klp-dev
Zhihai Xu [Sun, 9 Mar 2014 19:05:37 +0000 (19:05 +0000)]
Merge "DO NOT MERGE need to increase maximum number HID report for HOGP" into klp-dev

10 years agoDO NOT MERGE trouble syncing with fitbit and can't turn off bluetooth.
Zhihai Xu [Wed, 15 Jan 2014 01:46:26 +0000 (17:46 -0800)]
DO NOT MERGE trouble syncing with fitbit and can't turn off bluetooth.

this is to work around broadcom firmware problem to handle
unsolicited command complete event for HCI_LE_Create_Connection_Cancel
and LE connection complete event with status error code (0x2)
unknown connection identifier from bluetooth controller
the workaround is to release the HCI connection to avoid out of sync
with bluetooth controller, which cause BT can't be turned off.

bug:11614046
Change-Id: Ia5c5ad0c6c9b1a4f03253cac8a7caaf21341c88c

10 years agoDO NOT MERGE BLE stack doesn't handle multiple l2cap_conn_update requests
Zhihai Xu [Wed, 18 Dec 2013 04:33:09 +0000 (20:33 -0800)]
DO NOT MERGE BLE stack doesn't handle multiple l2cap_conn_update requests

we can define 4 bits as flags:
1. L2C_BLE_CONN_UPDATE_DISABLE:
if set it means disable update connection parameter. otherwise enable
2.L2C_BLE_NEW_CONN_PARAM:
if set, it means we have new connection parameter which is needed to be configured
if possible(after update done or enable).
3.L2C_BLE_UPDATE_PENDING:
if set, it means waiting for connection parameter update finished.
this flag will be cleared in btu_ble_ll_conn_param_upd_evt.
will be set when we call btsnd_hcic_ble_upd_ll_conn_params
4.L2C_BLE_NOT_DEFAULT_PARAM:
if set, it means we don't use the default connection parameter.
so when we disable update,
we need to configure default connection parameter.
with these 4 flags, we can replace all these states:
UPD_ENABLED, UPD_DISABLED, UPD_PENDING and UPD_UPDATED.
so we can cover all the corner cases which aren't handled
by original code.

bug:11450715
Change-Id: I6673d4783a8063bf9e8a213c6669800f86e67945

10 years agoDO NOT MERGE sometime the BLE connection parameter isnot updated for the first time
Zhihai Xu [Sun, 17 Nov 2013 01:07:38 +0000 (17:07 -0800)]
DO NOT MERGE sometime the BLE connection parameter isnot updated for the first time

When we receive the BLE connection parameter update
from remote device after smp_send_pair_req before
start BLE service discovery(bta_gattc_set_discover_st).
We will miss update this BLE connection parameter.
The reason is we call
L2CA_EnableUpdateBleConnParams(p_cb->pairing_bda, FALSE);
in smp_send_pair_req ,We change the state to UPD_DISABLED.

When we receive the new BLE connection parameter from
remote device, we will update the state to UPD_PENDING,
which will update the new connection parameter
when enable the connection parameter update.

when we start BLE service discovery
we call L2CA_EnableUpdateBleConnParams(p_srcb->server_bda, FALSE);
in bta_gattc_set_discover_st, We will update the state back to
 UPD_DISABLED, which will cause we miss updating
the new connection parameter when enable the connection parameter update.

The fix is don't change the state to UPD_DISABLED
when the state is UPD_PENDING for disabling.

bug:11727252
Change-Id: I953b9ca669e3460e18b340e7779cc54e03d6305b

10 years agoDO NOT MERGE BLE HID device connection failure due to security error.
Zhihai Xu [Wed, 13 Nov 2013 04:18:37 +0000 (20:18 -0800)]
DO NOT MERGE BLE HID device connection failure due to security error.

When HID BLE device start encryption, if some other GATT application
already start encryption(but not finished yet) by calling
gatt_security_check_start. The HID BLE device will be failed to start
encryption, which will cause it to disconnect the BLE HID connection.
The solution is to check whether we already started the encryption
, If the encryption is already started, wait until the encryption
finished, then continue to start security check for BLE HID device.
add encrytion complete event to notify all GATT client encryption done.
filter the event just for BTA HH LE GATT client.

bug:11636246
Change-Id: If58e57c623cc8cfa05208587b010bec68c71306c

10 years agoDO NOT MERGE Remove the device from le backgrond connection whitelist when it's unpaired
Zhihai Xu [Sat, 16 Nov 2013 01:55:46 +0000 (17:55 -0800)]
DO NOT MERGE Remove the device from le backgrond connection whitelist when it's unpaired

this is due to we didn't remove the device from the white list before unpair
Which cause a fake pair request from remote device triggered
right after the acl is disconnected.
The fix is to remove the BLE device from whitelist before unpair.
Also fix a problem return wrong device handle from bta_hh_le_add_device.

if bta_hh_le_add_device is called right after reboot, before we connect HID device.
This is normally true for a previous paired device, which we saved in the nvram.
The wrong device handle will cause the removing HID device from while list failed
after unpair the HID device.

bug:11676338
Change-Id: Id5b45b2829da9a990dfd1dbae0c15764b16c2bfb

10 years agoDO NOT MERGE BLE Secuity manager state machine generate wrong pairing success event.
Zhihai Xu [Sat, 16 Nov 2013 02:57:28 +0000 (18:57 -0800)]
DO NOT MERGE BLE Secuity manager state machine generate wrong pairing success event.

 we call smp_proc_release_delay to setup a timer.
We will send a pair failure message to uplayer after the time expired.
Right before the time expire, the l2cap connection is disconnected
from remote device, we receive L2C_DISC, which will call smp_delay_terminate,
 smp_delay_terminate will send a pair success message to uplayer.
The fix is not to change the status if the remote device disconnect the link

bug:11716967
Change-Id: I8ca63599a170ec86913785aafea552301cec37df

10 years agoDO NOT MERGE fix a potential native crash during bluetooth sutdown
Zhihai Xu [Tue, 26 Nov 2013 01:30:59 +0000 (17:30 -0800)]
DO NOT MERGE fix a potential native crash during bluetooth sutdown

When bluetooth is initialized which call gki_buffer_init,
the buffer pool is allocated by GKI_os_malloc which is
to call libc malloc function.
When bluetooth is cleanup which call GKI_shutdown,
the buffer pool will be  freed by GKI_os_free
which is to call libc free function.
So if we access the buffer, after the whole buffer pool is freed,
we will get this native crash.
if we call cleanup during bluetooth disabling:
the state is still BTIF_CORE_STATE_DISABLING,
then GKI_shutdown will call before bte_main_disable
( bt_hc_if->cleanup();), which is  before userial thread exit.
Then we may trigger this native crash.

bug:11793775
Change-Id: Ic8ced12848d25f918a28f4d5ba29b803d6ac5bd7

10 years agoDO NOT MERGE the HID device state is out of sync after upair.
Zhihai Xu [Sat, 16 Nov 2013 05:18:25 +0000 (21:18 -0800)]
DO NOT MERGE the HID device state is out of sync after upair.

the HID device state is out of sync between java layer and bluedroid stack after upair.
This will cause the HID device can't be connected after repair.
YOu can find the following error message
E/HidService( 1452): Hid Device not disconnected: 00:15:9E:20:29:41

bug:11718702
Change-Id: I271bb77a2cc205c5a0ef396db86b87902d29966b

10 years agoDO NOT MERGE Can only support two HID report instance for BLE HID.
Zhihai Xu [Wed, 18 Dec 2013 22:51:52 +0000 (14:51 -0800)]
DO NOT MERGE Can only support two HID report instance for BLE HID.

The follwoing code cause this problem:
BTA_HH_LE_RPT_INST_ID_MAP(s,c)=(UINT8)(((s)<<4)||(c))
The code use || instead of |, this cause we can only generate
two instance HID report 0 and 1(false and true).

bug:12213520
Change-Id: If6b7cfd9633255401aef12aafd918ee147f256b6

10 years agoDO NOT MERGE read report array out of boundary for BLE HID device.
Zhihai Xu [Wed, 18 Dec 2013 18:06:13 +0000 (10:06 -0800)]
DO NOT MERGE read report array out of boundary for BLE HID device.

report array out of boundary when read HID report reference
descriptor for BLE HID device.

bug:12208657
Change-Id: Ic60fd7555045f367b4fcd606510f52f60e36995e

10 years agoDO NOT MERGE need to increase maximum number HID report for HOGP
Zhihai Xu [Thu, 19 Dec 2013 02:10:26 +0000 (18:10 -0800)]
DO NOT MERGE need to increase maximum number HID report for HOGP

The Mat mouse have more than 10 report (11),
which exceed our limitation

bug:12214036
Change-Id: Id578bf7959f73dc3bd57664eccf49ab5580ec76b

10 years agoam b74fe9e2: DO NOT MERGE LE: Add service UUIDs and data to advertising data
Andre Eisenbach [Sat, 8 Mar 2014 06:24:51 +0000 (06:24 +0000)]
am b74fe9e2: DO NOT MERGE LE: Add service UUIDs and data to advertising data

* commit 'b74fe9e2c9fc0939f5c18282c985622f20b78d2a':
  DO NOT MERGE LE: Add service UUIDs and data to advertising data

10 years agoBluetooth:GAP: Add NULL check before accessing accept socket
Srinu Jella [Fri, 24 Jan 2014 10:03:22 +0000 (15:33 +0530)]
Bluetooth:GAP: Add NULL check before accessing accept socket

Add NULL check before accessing accept_rs variable to
avoid null pointer exception while referring to invalid
memory.

Change-Id: Ibc38d1c2fb19eb171cf136c47248ad8828676ac1

10 years agoBluetooth: Clear wait flag on Start response.
Rohit Singh [Thu, 23 Jan 2014 13:27:11 +0000 (18:57 +0530)]
Bluetooth: Clear wait flag on Start response.

When remote device does not responds to get capability causing
HAL layer to be blocked hence change is made to clear wait flag
on receiving Start response

Change-Id: I8190742fab18340e3eaa01f748bba26a3d4d17e6

10 years agoDO NOT MERGE Bluetooth: Cleanup bt_config.xml during BLE Scan
Sunny Kapdi [Wed, 20 Nov 2013 22:41:41 +0000 (14:41 -0800)]
DO NOT MERGE Bluetooth: Cleanup bt_config.xml during BLE Scan

BLE Scan needs to clean up the bt_config.xml periodically so that
new entries could be added to bt_config.xml. Also, there is no
need to add BLE Random bd_addr to the bt_config.xml

Change-Id: I00ba2e50dd39a021099052cb569786f6cb2cc8b9

b/12912008
(cherry picked from commit 377cb1407ee6ee1ff91b15bfa7052abed1023d18)

Change-Id: I3fa0286c96782822a8fdac14b05bbb6f98636e50

10 years agoDO NOT MERGE LE: Add service UUIDs and data to advertising data
Andre Eisenbach [Fri, 8 Nov 2013 18:23:52 +0000 (10:23 -0800)]
DO NOT MERGE LE: Add service UUIDs and data to advertising data

Add support for UUIDs and custom service data in the advertising and
scan response records.

Cherry picking ble advertising changes from master to KLP MR2.
b/13137996

Change-Id: I6470427ad194871488cc90f3ab384b9ecf326b15

10 years agoMerge "TARGET_SIMULATOR is long dead."
Elliott Hughes [Thu, 27 Feb 2014 18:20:28 +0000 (18:20 +0000)]
Merge "TARGET_SIMULATOR is long dead."

10 years agoTARGET_SIMULATOR is long dead.
Elliott Hughes [Thu, 27 Feb 2014 18:19:20 +0000 (10:19 -0800)]
TARGET_SIMULATOR is long dead.

Change-Id: I6ba4a55c865370f12ae30f445661b54bbc714f8a

10 years agoMerge "Various fixes for LP64"
Narayan Kamath [Thu, 27 Feb 2014 13:17:33 +0000 (13:17 +0000)]
Merge "Various fixes for LP64"

10 years agoVarious fixes for LP64
Kévin PETIT [Wed, 12 Feb 2014 17:24:01 +0000 (17:24 +0000)]
Various fixes for LP64

Changes include
- Cast numbers to their proper length before casting to a pointer.
- Use intptr_t when pointers are stored as integers.
- Eliminate 'implicit declaration' warnings

Signed-off-by: Matthew Leach <matthew.leach@arm.com>
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Change-Id: I5664a087c5fbc322baa9178552404dbe9a992359

10 years agoMerge "Fix warning "suggest braces around empty body in an 'if' statement""
Narayan Kamath [Thu, 27 Feb 2014 10:19:46 +0000 (10:19 +0000)]
Merge "Fix warning "suggest braces around empty body in an 'if' statement""

10 years agoFix warning "suggest braces around empty body in an 'if' statement"
Mike J. Chen [Fri, 31 Jan 2014 23:25:12 +0000 (15:25 -0800)]
Fix warning "suggest braces around empty body in an 'if' statement"

The body of an if statement could become empty if the macro body
is NULL and cause the if to apply to the next line instead.

Signed-off-by: Mike J. Chen <mjchen@google.com>
(cherry picked from dbdc69f4aed8a4eb3af31982c4722b10ee774740)

Change-Id: Ie4a18920e1fc959910451a70edcff6d7fd16e501

10 years agoMerge "Bluetooth: fix sniff issue with multiple rfcomm connection in same ACL"
Matthew Xie [Mon, 24 Feb 2014 01:29:59 +0000 (01:29 +0000)]
Merge "Bluetooth: fix sniff issue with multiple rfcomm connection in same ACL"

10 years agoMerge "Bluetooth: GAP: Update bonded device info immediately on NVRAM"
Matthew Xie [Sun, 23 Feb 2014 22:34:33 +0000 (22:34 +0000)]
Merge "Bluetooth: GAP: Update bonded device info immediately on NVRAM"

10 years agoBluetooth: fix sniff issue with multiple rfcomm connection in same ACL
Pradeep Panigrahi [Wed, 18 Sep 2013 06:55:37 +0000 (12:25 +0530)]
Bluetooth: fix sniff issue with multiple rfcomm connection in same ACL

When there are multiple rfcomm connection with same appid and peer bd
address, we were clearing jv pm control block in addition to closing
connection to service with registered app id. Since appid is common
across all the client and server app registed to jv. we were clearing
entire connection to service for this appid and peer bdadres which was
corrupting sniff logic, when another rfcomm connection exists with same
peer bdaddress. So avoiding closing of connection to the service when
multiple rfcomm connection exists in same ACL.

Change-Id: Id71ef5f7f0e00f1bda3b70a4826c31bef46caafc

10 years agoBluetooth: GAP: Update bonded device info immediately on NVRAM
Srinu Jella [Thu, 21 Nov 2013 11:40:02 +0000 (17:10 +0530)]
Bluetooth: GAP: Update bonded device info immediately on NVRAM

As the new bt-if config updation have delay in writing items
to the NVRAM, some times there is a chance of not updating
incase of battery removal happens before the actual write onto
NVRAM.

As the bonded device info is important data to store, it will
update bonded info immediately onto NVRAM.

Change-Id: I9699c8225a77d9272420334b4c76b3c1df87e459

10 years agoMerge "Don't leak process-private data on Change Local Name command."
Matthew Xie [Tue, 11 Feb 2014 22:54:03 +0000 (22:54 +0000)]
Merge "Don't leak process-private data on Change Local Name command."

10 years agoDon't leak process-private data on Change Local Name command.
Sharvil Nanavati [Mon, 10 Feb 2014 06:21:48 +0000 (22:21 -0800)]
Don't leak process-private data on Change Local Name command.

The Change Local Name command to the controller doesn't zero out
the contents of the command buffer before setting the contents. As
a result, the controller sees both the new device name and then
random data left over on the heap from previous operations. This
random data may contain sensitive information. Although the device
name is null-terminated, a controller may inadvertently leak the
additional information over the network.

This change fixes the behaviour by zeroing out the entire command
buffer before copying the device name into it. If the device name
doesn't occupy the entire buffer, the rest of it will be zero.

http://b/12949068

Change-Id: I4dd6ce6dd6709589fcd1e23f974db820820bc8e1

10 years agoMerge "Accept takes a socklen_t, not an int."
Elliott Hughes [Fri, 7 Feb 2014 22:29:57 +0000 (22:29 +0000)]
Merge "Accept takes a socklen_t, not an int."

10 years agoAccept takes a socklen_t, not an int.
Elliott Hughes [Fri, 7 Feb 2014 20:23:05 +0000 (12:23 -0800)]
Accept takes a socklen_t, not an int.

Change-Id: I0e89aae4a560c3ed9821cbb4432f56e25f3d1c94

10 years agoFix bug where btpan_control_state_callback is called with invalid args.
Sharvil Nanavati [Sun, 2 Feb 2014 00:53:15 +0000 (16:53 -0800)]
Fix bug where btpan_control_state_callback is called with invalid args.

When there's a connection error, btpan_control_state_callback sometimes
gets called back with incorrect local_role and remote_role values. These
values are simply not set (uninitialized) on one of the error handling
codepaths.

http://b/12854810

Change-Id: Ie2d9d252f185fca48ee6e2bfb697039d0ac10b43

10 years agoFix bug in PAN code where no new PAN connections can be made.
Sharvil Nanavati [Fri, 31 Jan 2014 21:39:43 +0000 (13:39 -0800)]
Fix bug in PAN code where no new PAN connections can be made.

If you call PAN_connect() followed quickly by PAN_disconnect(),
you won't be able to establish any additional PANU connections.
This happens because the connection never has a chance to make
it into PAN_STATE_CONNECTED and num_conns only gets decremented
if you disconnect in the connected state. As a result, subsequent
calls to connect will fail because the stack still believes there
to be an existing connection.

Change-Id: Id24873828ca4f517496cb19a44993d0e8e837a1e

10 years agoMerge "Fix calls to pthread_setschedparam."
Matthew Xie [Tue, 28 Jan 2014 20:27:06 +0000 (20:27 +0000)]
Merge "Fix calls to pthread_setschedparam."

10 years agoMerge "external/bluetooth/bluedroid: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATI...
Colin Cross [Tue, 28 Jan 2014 00:47:42 +0000 (00:47 +0000)]
Merge "external/bluetooth/bluedroid: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH"

10 years agoexternal/bluetooth/bluedroid: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH
Colin Cross [Sat, 25 Jan 2014 05:00:32 +0000 (21:00 -0800)]
external/bluetooth/bluedroid: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH

LOCAL_MODULE_PATH doesn't work for multiarch builds, replace it
with LOCAL_MODULE_RELATIVE_PATH.

Change-Id: I4e4ceec61d026bbe74ba604554c06104bde42e5e

10 years agoFix calls to pthread_setschedparam.
Sharvil Nanavati [Wed, 22 Jan 2014 08:04:45 +0000 (00:04 -0800)]
Fix calls to pthread_setschedparam.

When the scheduling priority is set to SCHED_NORMAL, you may not
specify a non-zero priority. The current implementation does
exactly that resulting in the call failing and returning EINVAL.
This change ensures that a priority of 0 is set when the desired
scheduler policy is set to SCHED_NORMAL.

http://b/12304174

Change-Id: I945cae175b7bdd29dd8fc130ff6396b88ec33fcb

10 years agoam 46ebeb1d: Merge "LE: Increase number of simultaneous connections" into klp-dev
Matthew Xie [Tue, 12 Nov 2013 03:01:23 +0000 (19:01 -0800)]
am 46ebeb1d: Merge "LE: Increase number of simultaneous connections" into klp-dev

* commit '46ebeb1d5f2536445590d142f01247de4e24893c':
  LE: Increase number of simultaneous connections

10 years agoMerge "LE: Increase number of simultaneous connections" into klp-dev
Matthew Xie [Tue, 12 Nov 2013 02:56:19 +0000 (02:56 +0000)]
Merge "LE: Increase number of simultaneous connections" into klp-dev

10 years agoLE: Increase number of simultaneous connections
Andre Eisenbach [Fri, 1 Nov 2013 21:47:52 +0000 (14:47 -0700)]
LE: Increase number of simultaneous connections

Currently the maximum number of parallel connections is 4. This patch
increases the limit to allow for more devices.
bug 11571899
Change-Id: I42b77e6b67f59d7d430d879a5fb0eb80982160b5

10 years agoam 72658f48: BLE is disconnected due to BLE service record discovery failure.
Zhihai Xu [Mon, 11 Nov 2013 23:09:29 +0000 (15:09 -0800)]
am 72658f48: BLE is disconnected due to BLE service record discovery failure.

* commit '72658f48d653be0786ef924bb3abbf7df1ec6592':
  BLE is disconnected due to BLE service record discovery failure.

10 years agoBLE is disconnected due to BLE service record discovery failure.
Zhihai Xu [Mon, 11 Nov 2013 01:25:45 +0000 (17:25 -0800)]
BLE is disconnected due to BLE service record discovery failure.

the root cause of the problem is:
In BLE GATT client state machine, When It is in discovery state,
any command to access the service, characteristic and descriptor
will be queued, these commands will be executed after BLE service
discovery complete. When we queue the command, we will copy these
message. The problem is we didn't copy these message correctly.
We didn't deep copy these messages. There are pointers inside
these messages. These pointers are still point to the old message
which are already freed. When the messages are reused, the original
content will lost. The queued commands will be corrupted.
This is very serious issue, which can cause a lot of stability problem.

bug:11620252
Change-Id: I93082a9dbcc3a676f5f791c2b1ea98e49b165813

10 years agoam dbba0e65: Replace Broadcom proprietary license header with apache 2 header
Matthew Xie [Fri, 8 Nov 2013 19:35:20 +0000 (11:35 -0800)]
am dbba0e65: Replace Broadcom proprietary license header with apache 2 header

* commit 'dbba0e652e0ce23dd691df3c03979ec6e32c8db3':
  Replace Broadcom proprietary license header with apache 2 header

10 years agoReplace Broadcom proprietary license header with apache 2 header
Matthew Xie [Fri, 8 Nov 2013 18:13:21 +0000 (10:13 -0800)]
Replace Broadcom proprietary license header with apache 2 header

bug 11591406

Change-Id: Ibb9c6b3865e6d757236f1c5896775bb6f28e47be

10 years agoam 04e05e9a: Merge "LE: Add devices to the inquiry db before connecting" into klp-dev
Matthew Xie [Thu, 7 Nov 2013 19:12:13 +0000 (11:12 -0800)]
am 04e05e9a: Merge "LE: Add devices to the inquiry db before connecting" into klp-dev

* commit '04e05e9a39cbed22a099458c35207795a0039043':
  LE: Add devices to the inquiry db before connecting

10 years agoMerge "LE: Add devices to the inquiry db before connecting" into klp-dev
Matthew Xie [Thu, 7 Nov 2013 19:06:39 +0000 (19:06 +0000)]
Merge "LE: Add devices to the inquiry db before connecting" into klp-dev