OSDN Git Service

android-x86/system-bt.git
9 years agoam c1c02ce5: Fix compile error in bta_ag_sco.c
Andre Eisenbach [Wed, 10 Jun 2015 22:42:02 +0000 (22:42 +0000)]
am c1c02ce5: Fix compile error in bta_ag_sco.c

* commit 'c1c02ce58f8513ab1c6ab3010be4867c22b3b5c6':
  Fix compile error in bta_ag_sco.c

9 years agoam 8f4fb27a: (-s ours) Create listen SCO for HS1 if HS2 disconnects during SCO xfer
Mallikarjuna GB [Wed, 10 Jun 2015 22:42:02 +0000 (22:42 +0000)]
am 8f4fb27a: (-s ours) Create listen SCO for HS1 if HS2 disconnects during SCO xfer

* commit '8f4fb27a66a83cc65eb7923b6912d0aaba279a8b':
  Create listen SCO for HS1 if HS2 disconnects during SCO xfer

9 years agoam 39b9f827: Don\'t open SCO on state change for multi party call on DUT.
Mallikarjuna GB [Wed, 10 Jun 2015 22:36:04 +0000 (22:36 +0000)]
am 39b9f827: Don\'t open SCO on state change for multi party call on DUT.

* commit '39b9f827e1f9f0599070928465f84b69c4d5dfc0':
  Don't open SCO on state change for multi party call on DUT.

9 years agoam 9900b499: Reset sniff subrating while in SCO
Mallikarjuna GB [Wed, 10 Jun 2015 22:36:04 +0000 (22:36 +0000)]
am 9900b499: Reset sniff subrating while in SCO

* commit '9900b49968297aa15872a9b7ef3a258ecf48cf1b':
  Reset sniff subrating while in SCO

9 years agoam fafa2e20: Open SCO for held call.
Mallikarjuna GB [Wed, 10 Jun 2015 22:36:03 +0000 (22:36 +0000)]
am fafa2e20: Open SCO for held call.

* commit 'fafa2e20a8b56ab8320adebce2c6dc93d01801c5':
  Open SCO for held call.

9 years agoam 8885d6f4: Update call state before opening SCO.
Mallikarjuna GB [Wed, 10 Jun 2015 22:36:02 +0000 (22:36 +0000)]
am 8885d6f4: Update call state before opening SCO.

* commit '8885d6f4ea0aca5e97a5f405434d4494c5e41b85':
  Update call state before opening SCO.

9 years agoam 616e7417: Handle multi party call states
Mallikarjuna GB [Wed, 10 Jun 2015 22:36:01 +0000 (22:36 +0000)]
am 616e7417: Handle multi party call states

* commit '616e7417c9520db24adf20b7c0aaf967ce6e106d':
  Handle multi party call states

9 years agoam 06c0eca5: Update held call state to connected headset
Mallikarjuna GB [Wed, 10 Jun 2015 22:35:59 +0000 (22:35 +0000)]
am 06c0eca5: Update held call state to connected headset

* commit '06c0eca504910115020b86676fae60bb171b7a47':
  Update held call state to connected headset

9 years agoam eae61663: Replace malloc/calloc/free with osi_malloc/osi_calloc/osi_free
Pavlin Radoslavov [Wed, 10 Jun 2015 22:35:58 +0000 (22:35 +0000)]
am eae61663: Replace malloc/calloc/free with osi_malloc/osi_calloc/osi_free

* commit 'eae61663a5c44f2a5757ae3df80cbc3b97fa6d60':
  Replace malloc/calloc/free with osi_malloc/osi_calloc/osi_free

9 years agoam cf8fb474: Fix memory corruption due to BLE multi-adv macro
Sunny Kapdi [Wed, 10 Jun 2015 22:35:57 +0000 (22:35 +0000)]
am cf8fb474: Fix memory corruption due to BLE multi-adv macro

* commit 'cf8fb474b12660ee799ded5b60e4654c8f3ffe13':
  Fix memory corruption due to BLE multi-adv macro

9 years agoam 38798e1b: HID: Handle closing of uhid driver in case failure
Hemant Gupta [Wed, 10 Jun 2015 22:35:56 +0000 (22:35 +0000)]
am 38798e1b: HID: Handle closing of uhid driver in case failure

* commit '38798e1b7cc7873aa849c3c7c58902f713d909be':
  HID: Handle closing of uhid driver in case failure

9 years agoam 065a3e20: Reset pairing state to idle only for the current device
Srinu Jella [Wed, 10 Jun 2015 22:35:54 +0000 (22:35 +0000)]
am 065a3e20: Reset pairing state to idle only for the current device

* commit '065a3e209f5dae24bc7c21bf2659e9ccef23ebf1':
  Reset pairing state to idle only for the current device

9 years agoam 0933b407: Moved the OSI alarm_shutdown() operations to alarm_cleanup()
Pavlin Radoslavov [Wed, 10 Jun 2015 22:35:53 +0000 (22:35 +0000)]
am 0933b407: Moved the OSI alarm_shutdown() operations to alarm_cleanup()

* commit '0933b4075e16589a073e85d8230677238b29b780':
  Moved the OSI alarm_shutdown() operations to alarm_cleanup()

9 years agoam 5febd64b: Disable the OSI allocation tracker.
Pavlin Radoslavov [Wed, 10 Jun 2015 22:35:52 +0000 (22:35 +0000)]
am 5febd64b: Disable the OSI allocation tracker.

* commit '5febd64b95260672d41964337377fb312ea2c07b':
  Disable the OSI allocation tracker.

9 years agoam 8fb547c7: Handle pairing timeout during remote name request
Srinu Jella [Wed, 10 Jun 2015 22:35:51 +0000 (22:35 +0000)]
am 8fb547c7: Handle pairing timeout during remote name request

* commit '8fb547c7313644044c3d4ce38d68a2ad80f2d6c8':
  Handle pairing timeout during remote name request

9 years agoam 73022dcd: Reduce GATT log verbosity
Andre Eisenbach [Wed, 10 Jun 2015 22:35:51 +0000 (22:35 +0000)]
am 73022dcd: Reduce GATT log verbosity

* commit '73022dcde0411cb5a5684aaa78554c698916d4af':
  Reduce GATT log verbosity

9 years agoam 3c67f057: Avoid null pointer exception for invalid L2CAP channels
Srinu Jella [Wed, 10 Jun 2015 22:35:50 +0000 (22:35 +0000)]
am 3c67f057: Avoid null pointer exception for invalid L2CAP channels

* commit '3c67f057825cafc1476559fdd15874db72deb217':
  Avoid null pointer exception for invalid L2CAP channels

9 years agoam 7dac79e3: (-s ours) Add missing clean_up step for the OSI module.
Pavlin Radoslavov [Wed, 10 Jun 2015 22:35:49 +0000 (22:35 +0000)]
am 7dac79e3: (-s ours) Add missing clean_up step for the OSI module.

* commit '7dac79e3614a7956637b7dd294cf9f38afcf09f4':
  Add missing clean_up step for the OSI module.

9 years agoam 527c9fe7: Sniff: Use correct sniff configuration for PAN & HS
Hemant Gupta [Wed, 10 Jun 2015 22:16:53 +0000 (22:16 +0000)]
am 527c9fe7: Sniff: Use correct sniff configuration for PAN & HS

* commit '527c9fe7f49c171713e227610ed8829eaa2dac05':
  Sniff: Use correct sniff configuration for PAN & HS

9 years agoam b5c8e291: Make secure connections mode configurable
Andre Eisenbach [Wed, 10 Jun 2015 22:16:44 +0000 (22:16 +0000)]
am b5c8e291: Make secure connections mode configurable

* commit 'b5c8e291dcac7d45e4788a10ade8200d67e44786':
  Make secure connections mode configurable

9 years agoam 579fa2a9: Increase the min LE connection interval to 11.25ms
Prerepa Viswanadham [Wed, 10 Jun 2015 22:16:42 +0000 (22:16 +0000)]
am 579fa2a9: Increase the min LE connection interval to 11.25ms

* commit '579fa2a950f21f3e5808a2d060afebbf5e8f0732':
  Increase the min LE connection interval to 11.25ms

9 years agoam 0b469db5: Pairing is prompted with a wrong bd-address
Satya Calloji [Wed, 10 Jun 2015 22:16:41 +0000 (22:16 +0000)]
am 0b469db5: Pairing is prompted with a wrong bd-address

* commit '0b469db5e4991a1de0250fbeaca16ebd82f9470b':
  Pairing is prompted with a wrong bd-address

9 years agoam c09540f7: Fix problem where multi-adv instances cannot be re-used
Andre Eisenbach [Wed, 10 Jun 2015 22:16:40 +0000 (22:16 +0000)]
am c09540f7: Fix problem where multi-adv instances cannot be re-used

* commit 'c09540f7f5dc712fda7e2179602514c0738092b6':
  Fix problem where multi-adv instances cannot be re-used

9 years agoam 4c0e671b: Recitfy condition when removing device from IRK resolving list
Nitin Arora [Wed, 10 Jun 2015 22:16:38 +0000 (22:16 +0000)]
am 4c0e671b: Recitfy condition when removing device from IRK resolving list

* commit '4c0e671b9a57504747a542544038ebb1abf296e4':
  Recitfy condition when removing device from IRK resolving list

9 years agoam a021a129: Fix build after cross-key issues broke non privacy enabled builds
Andre Eisenbach [Wed, 10 Jun 2015 22:16:37 +0000 (22:16 +0000)]
am a021a129: Fix build after cross-key issues broke non privacy enabled builds

* commit 'a021a12987c4257d137437c6de9438b3344c6f6b':
  Fix build after cross-key issues broke non privacy enabled builds

9 years agoam 2808a249: (-s ours) Fix device/address types and IRK value handling
Satya Calloji [Wed, 10 Jun 2015 22:16:36 +0000 (22:16 +0000)]
am 2808a249: (-s ours) Fix device/address types and IRK value handling

* commit '2808a249c7fc1230eb8955481f94ea0e083165e4':
  Fix device/address types and IRK value handling

9 years agoam 51a36d7e: Fixed cross key for LE when paired over BR-EDR
Satya Calloji [Wed, 10 Jun 2015 22:10:14 +0000 (22:10 +0000)]
am 51a36d7e: Fixed cross key for LE when paired over BR-EDR

* commit '51a36d7e1771bf0622898e6d1fc928028c400aaf':
  Fixed cross key for LE when paired over BR-EDR

9 years agoam 8551d99a: Fix SMP pairing request issue on LE
Satya Calloji [Wed, 10 Jun 2015 22:10:12 +0000 (22:10 +0000)]
am 8551d99a: Fix SMP pairing request issue on LE

* commit '8551d99ac3947c36b867f84dd6ba3776e0aeb3a4':
  Fix SMP pairing request issue on LE

9 years agoam 1f38e92c: Unpair the other transport on a device paired
Satya Calloji [Wed, 10 Jun 2015 22:10:11 +0000 (22:10 +0000)]
am 1f38e92c: Unpair the other transport on a device paired

* commit '1f38e92c7045e92b6b9d7f31bf85ceb585733885':
  Unpair the other transport on a device paired

9 years agoam 70b95989: (-s ours) Static address is seen on scanner after unpairing
Satya Calloji [Wed, 10 Jun 2015 22:10:10 +0000 (22:10 +0000)]
am 70b95989: (-s ours) Static address is seen on scanner after unpairing

* commit '70b9598970e5b18ba53c282319e68faea6eb5681':
  Static address is seen on scanner after unpairing

9 years agoam 3e46b830: (-s ours) Fix for chip capability version check
Satya Calloji [Wed, 10 Jun 2015 22:04:23 +0000 (22:04 +0000)]
am 3e46b830: (-s ours) Fix for chip capability version check

* commit '3e46b83098196782328c339f5fe8021dc52172fc':
  Fix for chip capability version check

9 years agoam 935324ab: (-s ours) LE low power scan feature
Satya Calloji [Wed, 10 Jun 2015 21:58:31 +0000 (21:58 +0000)]
am 935324ab: (-s ours) LE low power scan feature

* commit '935324abbe8706307297f09cf79bbcd4efb73367':
  LE low power scan feature

9 years agoam 089651a3: Fix allocation for LE scan filter parameters
Nitin Arora [Wed, 10 Jun 2015 21:51:50 +0000 (21:51 +0000)]
am 089651a3: Fix allocation for LE scan filter parameters

* commit '089651a314c73f21964457d5d1b2d188e2243574':
  Fix allocation for LE scan filter parameters

9 years agoam 19e91b0f: (-s ours) Fix for premature BLE RPA timeout
Nitin Arora [Wed, 10 Jun 2015 21:51:48 +0000 (21:51 +0000)]
am 19e91b0f: (-s ours) Fix for premature BLE RPA timeout

* commit '19e91b0fe546478f6fb6572c8af7a5faa7559498':
  Fix for premature BLE RPA timeout

9 years agoam 033edab9: Fix GATT connection failure after BT reset
Satya Calloji [Wed, 10 Jun 2015 21:44:34 +0000 (21:44 +0000)]
am 033edab9: Fix GATT connection failure after BT reset

* commit '033edab9780481ca743d1f14cc893dc533c3c3f2':
  Fix GATT connection failure after BT reset

9 years agoam 7557b674: Use correct structure to read LE connection handle
Nitin Arora [Wed, 10 Jun 2015 21:44:33 +0000 (21:44 +0000)]
am 7557b674: Use correct structure to read LE connection handle

* commit '7557b67434226e4baeee87ba86a7b85d1687de9a':
  Use correct structure to read LE connection handle

9 years agoam 03583e8f: Build the shared library with --whole-archive
Zach Johnson [Wed, 10 Jun 2015 21:44:32 +0000 (21:44 +0000)]
am 03583e8f: Build the shared library with --whole-archive

* commit '03583e8f3161836f2bef56f59a6f7bb2db25e61f':
  Build the shared library with --whole-archive

9 years agoam 350b0b0d: Fix for IRK and IR key write issue
Satya Calloji [Wed, 10 Jun 2015 21:44:31 +0000 (21:44 +0000)]
am 350b0b0d: Fix for IRK and IR key write issue

* commit '350b0b0d148ca9bf7cbf20018b47286165fa86e8':
  Fix for IRK and IR key write issue

9 years agoam fc9c9981: Re-enabled enhanced inquiry scan
Andre Eisenbach [Wed, 10 Jun 2015 21:44:29 +0000 (21:44 +0000)]
am fc9c9981: Re-enabled enhanced inquiry scan

* commit 'fc9c99817a6f3a951e3fc1ccdc48ebd2a54824a7':
  Re-enabled enhanced inquiry scan

9 years agoam 73378f5f: Fix format-security warning found by clang/llvm.
Chih-Hung Hsieh [Wed, 10 Jun 2015 21:44:28 +0000 (21:44 +0000)]
am 73378f5f: Fix format-security warning found by clang/llvm.

* commit '73378f5fad7b2fc348073c313b226d0e1d5cfc12':
  Fix format-security warning found by clang/llvm.

9 years agoam 8f1a16b1: Fix string template in connection event debug log
Andre Eisenbach [Wed, 10 Jun 2015 21:44:27 +0000 (21:44 +0000)]
am 8f1a16b1: Fix string template in connection event debug log

* commit '8f1a16b13f8d11da9e783a64e1d38e8b20c10d6c':
  Fix string template in connection event debug log

9 years agoam 40412562: (-s ours) Include osi_module reference in module_init funcion
Andre Eisenbach [Wed, 10 Jun 2015 21:44:25 +0000 (21:44 +0000)]
am 40412562: (-s ours) Include osi_module reference in module_init funcion

* commit '40412562707ee3f1fa104c4332bc6247880040a3':
  Include osi_module reference in module_init funcion

9 years agoam c6a1c261: (-s ours) Fix AlarmTestHarness so alarm tests pass again
Zach Johnson [Wed, 10 Jun 2015 21:37:20 +0000 (21:37 +0000)]
am c6a1c261: (-s ours) Fix AlarmTestHarness so alarm tests pass again

* commit 'c6a1c261b87f194b298df01f002292d9e937ec75':
  Fix AlarmTestHarness so alarm tests pass again

9 years agoam cae219fe: (-s ours) Shutdown alarm callbacks on stack disable; added OSI module
Andre Eisenbach [Wed, 10 Jun 2015 21:29:26 +0000 (21:29 +0000)]
am cae219fe: (-s ours) Shutdown alarm callbacks on stack disable; added OSI module

* commit 'cae219fe70124f1fc39cd7a78c239c4870422d5d':
  Shutdown alarm callbacks on stack disable; added OSI module

9 years agoam f4f744f7: Fix BT PAN crash by re-ordering callback initialization
Mudumba Ananth [Wed, 10 Jun 2015 21:21:51 +0000 (21:21 +0000)]
am f4f744f7: Fix BT PAN crash by re-ordering callback initialization

* commit 'f4f744f7a9812e2dfd306382eab80c2caf25db37':
  Fix BT PAN crash by re-ordering callback initialization

9 years agoFix compile error in bta_ag_sco.c
Andre Eisenbach [Thu, 4 Jun 2015 18:43:57 +0000 (11:43 -0700)]
Fix compile error in bta_ag_sco.c

Change-Id: I8839ba732560a31a5e8a2351ea4bfb16999cf5ea

9 years agoCreate listen SCO for HS1 if HS2 disconnects during SCO xfer
Mallikarjuna GB [Thu, 21 May 2015 14:34:46 +0000 (20:04 +0530)]
Create listen SCO for HS1 if HS2 disconnects during SCO xfer

During SCO transfer process from HS1 to HS2, firstly active SCO for
HS1 is disconnected. However, if suddenly HS2 disconnects even
before SCO transfer is complete, listen SCO for HS1 is not created.
This causes further incoming SCO connections from HS1 to be rejected.
The change creates listen SCO for HS1 and moves SCO state properly
to LISTEN.

Change-Id: I0993c1ba1c24b3b7e9c243d179a913d7a0c40446

9 years agoDon't open SCO on state change for multi party call on DUT.
Mallikarjuna GB [Thu, 21 May 2015 14:20:27 +0000 (19:50 +0530)]
Don't open SCO on state change for multi party call on DUT.

When multi party calls(1 active, 1 held) are ongoing on phone
speaker and any of these call drops, do not open SCO for
other call since user expects call to still remain on phone
speaker.

Change-Id: I9079c809ac665fc1c6e890302e37d23a12f8d4f4

9 years agoReset sniff subrating while in SCO
Mallikarjuna GB [Thu, 21 May 2015 13:11:03 +0000 (18:41 +0530)]
Reset sniff subrating while in SCO

Sniff subrating should not be used when link is
in SCO connection. Since the subrating value is
higher, the link would take more time to process
ACL data while in SCO connection causing unwanted
results like delay in SCO disconnects.

Change-Id: I7b964faa397624b65e0158209b8743efe13a6075

9 years agoOpen SCO for held call.
Mallikarjuna GB [Sat, 30 May 2015 17:25:18 +0000 (22:55 +0530)]
Open SCO for held call.

Use case:
1. Connect to headset/carkit
2. Make an outgoing call from AG
3. Turn off BT on AG
4. Hold the call from AG
5. Turn on BT on AG (No SCO link is established here)
6. Unhold call from AG (still no SCO link is established)

Failure:
No SCO connection established when held call is there
during headset connection.

Root cause:
SCO is not initiated when SLC is done during held call.

Fix:
AG opens SCO connection when HF connected while in call and
the call was in held state.

Change-Id: I63d7655d26ddbf68cbf94c745df745cffa917b5e

9 years agoUpdate call state before opening SCO.
Mallikarjuna GB [Fri, 28 Nov 2014 04:51:15 +0000 (10:21 +0530)]
Update call state before opening SCO.

This change makes sure to update the current
call state before opening SCO connection when
incoming call is answered. Some car kits are
strict in checking this sequence and go in
bad state if not done this way.

Change-Id: Ie744dc26c02d897eaf016ee73022bfc2a0db067e

9 years agoHandle multi party call states
Mallikarjuna GB [Fri, 22 May 2015 06:26:48 +0000 (11:56 +0530)]
Handle multi party call states

UseCase:
1. Set up Bluetooth connection between phone and remote device.
2. Disconnect BT link by turning off remote device.
3. Start Mo call from phone.
4. Receive MT call from far end.
5. Turn on remote device.
6. BT connection gets established successfully, but audio
doesn't get transferred to headset.

Failure:
Call audio not routed to BT HS. SCO not established.

Root cause:
When a HS connects while in an active call and 2nd call
(incoming/outgoing/alerting) setup ongoing, incorrect post SLC
call setup updates might cause HS to get confused as phone had
already updated correct call states in CIND response during SLC.
This may cause HS to behave abnormally like delayed response to
BCS as seen with jabra wave +.

Fix:
Avoid sending incorrect call updates post SLC since we already
have sent correct updates during SLC as reponse to CIND.

Change-Id: I53e57baf7cca782af6f374a043667971c66a956d

9 years agoUpdate held call state to connected headset
Mallikarjuna GB [Thu, 21 May 2015 12:28:12 +0000 (17:58 +0530)]
Update held call state to connected headset

In a three way call scenario, when an active
call is dropped by remote, the single held call
state is not updated to the connected headset.
This change will make sure that it is updated
properly.

Change-Id: I558602e791279d510edb23989b125cd8f7a7ebde

9 years agoReplace malloc/calloc/free with osi_malloc/osi_calloc/osi_free
Pavlin Radoslavov [Tue, 2 Jun 2015 20:54:58 +0000 (13:54 -0700)]
Replace malloc/calloc/free with osi_malloc/osi_calloc/osi_free

There were several leftover places that were still using
malloc/calloc/free .
Those are replaced to use osi_malloc/osi_calloc/osi_free like
majority of the rest of the code.

Note: There are few remaining places that are still using
malloc/calloc/free:
 * Some of the unit tests
 * audio_a2dp_hw/audio_a2dp_hw.c
   It is used as part of the audio.a2dp.default.so library,
   and the bluetooth.default.so library
   Its usage of malloc/calloc/free should be refactored
   independently.

Change-Id: Iafbed996e5f1ae8eb1343fb2acfadf32e515e419

9 years agoFix memory corruption due to BLE multi-adv macro
Sunny Kapdi [Tue, 2 Jun 2015 05:21:28 +0000 (22:21 -0700)]
Fix memory corruption due to BLE multi-adv macro

INST_ID_IDX_MAX macro was not protected with parenthesis, resulting
in incorrect calculation of the size needed to allocate memory for
the client_if map.

Change-Id: Ib3591f4f9ac7288f2191e9078a71aab431ca7130

9 years agoHID: Handle closing of uhid driver in case failure
Hemant Gupta [Wed, 19 Nov 2014 13:39:54 +0000 (19:09 +0530)]
HID: Handle closing of uhid driver in case failure

This patch handles closure of the uhid driver in case of following:
- Due to concurrency of disconnection from a conencted device
  and an incoming connection request from another device, the error
  code for the ACL disconnection becomes HCI_ERR_HOST_REJECT_SECURITY
  in the stack.
- On reception of disconnection with that error codes, the uhid driver
  was not closed from the btif layer leading to issues in reconnection
  with same device that got disconnected.

Change-Id: I13c83757051850cc631aa1c24a036a2e1a4d0087

9 years agoReset pairing state to idle only for the current device
Srinu Jella [Thu, 13 Nov 2014 11:52:28 +0000 (17:22 +0530)]
Reset pairing state to idle only for the current device

Reset the pair state during auth complete for the BD_ADDR of the pairing
device only. The authentication complete event may come for profile level
authetication also. In such cases, if device already in paired state,
there is no need to reset the pairing state.

Change-Id: Id0ef9127895177527a6d4559ad873aa1c62a56bb

9 years agoMoved the OSI alarm_shutdown() operations to alarm_cleanup()
Pavlin Radoslavov [Mon, 1 Jun 2015 23:08:18 +0000 (16:08 -0700)]
Moved the OSI alarm_shutdown() operations to alarm_cleanup()

Also, removed the OSI module's start_up and shut_down steps,
because now they are no-op.

Bug: 21558791
Change-Id: I24259b327f399af57c37937111158baa9704f644

9 years agoDisable the OSI allocation tracker.
Pavlin Radoslavov [Mon, 1 Jun 2015 18:42:39 +0000 (11:42 -0700)]
Disable the OSI allocation tracker.

Temporary disable the allocation tracker initialization
(even for BLUEDROID_DEBUG) when initializing Bluetooth.
This is a short-term workaround solution for several issues related to
the usage of the allocation tracker.

* Inconsistent usage of osi_malloc()/osi_calloc() and osi_free()
  - Within some of the Bluetooth-related unit tests we have two copies
    of the same libosi library: one copy statically linked against the
    unit test, and another dlopen() at runtime as part of bluetooth.default.so
    Each of those copy has its own static variables.
  - For the dlopen() copy we do call allocation_tracker_init(), while for the
    static copy within the unit test we don't call allocation_tracker_init()
  - Occasionally, there is a  memory allocation via osi_calloc()
    within the dlopen()-ed library, and then it is osi_free()-ed
    within the statically linked library.
 Such (mis)usage creates issues in two ways: (1) free()-ing incorrect
 pointer, and (2) the osi hash_map() in the dlopen()-ed library still considers
 the osi-tracked memory as allocated.
 NOTE: (1) could trigger random crashes, while (2) is the reason the unit
 test triggers an assert

* Avoid potential issues that could result from the fact that calling
  allocation_tracker_init() is not mandatory; i.e., the same
  issue described above could be triggered if osi_malloc()/osi_callod()
  was called before the call to allocation_tracker_init()

* There is still code that uses malloc(3)/calloc(3) and free(3) instead
  of osi_malloc()/osi_calloc() and osi_free()

Also, add missing pthread_mutex_lock()/pthread_mutex_unlock() guards,
and fix the allocation_tracker_uninit() implementation so it works
properly even if void allocation_tracker_init() wasn't called.

Bug: 21561735
Change-Id: Ic83d6cd40af1189c4ee9c1dbfd0ad8e4666e1502

9 years agoHandle pairing timeout during remote name request
Srinu Jella [Wed, 8 Oct 2014 11:06:43 +0000 (16:36 +0530)]
Handle pairing timeout during remote name request

If a remote name request is in progress and a pairing timeout is
triggered, the host needs to post the bond failure to the UI and
needs to reset the pairing cb state, otherwise the UI will be stuck
in pairing mode and scanning won't work until Bluetooth is cycled
OFF->ON.

Change-Id: I76d9a83b1db7236db51617da998b5857b0de39f0

9 years agoReduce GATT log verbosity
Andre Eisenbach [Thu, 28 May 2015 18:16:52 +0000 (11:16 -0700)]
Reduce GATT log verbosity

Change-Id: I55e6ec1afdd8a13f4401809ef89ef2d80efb7f66

9 years agoam 1bd76059: (-s ours) Bluetooth native dumpsys logging support (2/5)
Andre Eisenbach [Wed, 10 Jun 2015 21:06:13 +0000 (21:06 +0000)]
am 1bd76059: (-s ours) Bluetooth native dumpsys logging support (2/5)

* commit '1bd76059e72b7a0d54f6b325882f6eccd311f874':
  Bluetooth native dumpsys logging support (2/5)

9 years agoAvoid null pointer exception for invalid L2CAP channels
Srinu Jella [Fri, 30 May 2014 15:45:01 +0000 (21:15 +0530)]
Avoid null pointer exception for invalid L2CAP channels

Change-Id: I8ac40e9cfe6dd015f40c6f493727e123a0d247e6

9 years agoAdd missing clean_up step for the OSI module.
Pavlin Radoslavov [Sat, 23 May 2015 02:47:49 +0000 (19:47 -0700)]
Add missing clean_up step for the OSI module.

Now the OSI module's shut_down processing is split into "shut_down"
and "clean_up".

Previously, there was an ordering issue manipulating some of the
internal state during graceful shutdown/cleanup. Some of the modules
had two steps: shut_down, followed by clean_up, while other had only
shut_down step. This triggered the following assert in file alarm.c

    alarm_cancel: assertion "alarms != NULL" failed

Bug: 21406940
Change-Id: Iab1f033a69cbff646a6b0f346760ae82f8b00b8f

9 years agoSniff: Use correct sniff configuration for PAN & HS
Hemant Gupta [Thu, 15 Jan 2015 14:45:07 +0000 (20:15 +0530)]
Sniff: Use correct sniff configuration for PAN & HS

Change-Id: I95c302dd46cdcc63058c9cb3de17fdfd6ffe8d2e

9 years agoMake secure connections mode configurable
Andre Eisenbach [Wed, 27 May 2015 00:40:12 +0000 (17:40 -0700)]
Make secure connections mode configurable

Change-Id: Id6101abc1fc339147c8b55023c7426ec1c807ee6

9 years agoIncrease the min LE connection interval to 11.25ms
Prerepa Viswanadham [Wed, 27 May 2015 00:25:38 +0000 (17:25 -0700)]
Increase the min LE connection interval to 11.25ms

To reduce audio choppiness, increase the min LE connection interval
to 11.25ms from 7.5ms

Bug: 18776956
Change-Id: I8404ebe2f9562d555a2131ae30dd63b74bb362a4

9 years agoam 4e3e372a: Only register key types with uinput that we can actually map
Andre Eisenbach [Wed, 10 Jun 2015 20:58:21 +0000 (20:58 +0000)]
am 4e3e372a: Only register key types with uinput that we can actually map

* commit '4e3e372af6bba32d27a154679e39cada3034df41':
  Only register key types with uinput that we can actually map

9 years agoam 4be4396c: Elimininate unnecessary calls for releasing the wake lock.
Pavlin Radoslavov [Wed, 10 Jun 2015 20:58:20 +0000 (20:58 +0000)]
am 4be4396c: Elimininate unnecessary calls for releasing the wake lock.

* commit '4be4396c8e4dc4c308219bdf402447a7feefe73e':
  Elimininate unnecessary calls for releasing the wake lock.

9 years agoam 4905f8fc: Handle lack of service better
David Stevens [Wed, 10 Jun 2015 20:58:19 +0000 (20:58 +0000)]
am 4905f8fc: Handle lack of service better

* commit '4905f8fcddbf8e082a922b91dcc4674df95e2cfa':
  Handle lack of service better

9 years agoam af753a25: Do not ask for confirmation for temporary pairing
Andre Eisenbach [Wed, 10 Jun 2015 18:42:07 +0000 (18:42 +0000)]
am af753a25: Do not ask for confirmation for temporary pairing

* commit 'af753a253bb3e40f11be33d2c70368adc205cca6':
  Do not ask for confirmation for temporary pairing

9 years agoDo not ask for confirmation for temporary pairing
Andre Eisenbach [Tue, 9 Jun 2015 03:43:00 +0000 (20:43 -0700)]
Do not ask for confirmation for temporary pairing

Bug: 20187234
Change-Id: I4213a3c2cafecdb39fcf3f19464c91776180267a

9 years agoam 8f310904: Add missing include.
Dan Albert [Wed, 10 Jun 2015 00:33:01 +0000 (00:33 +0000)]
am 8f310904: Add missing include.

* commit '8f31090414c4660a010216383e17cb932f34ec6f':
  Add missing include.

9 years agoAdd missing include.
Dan Albert [Tue, 9 Jun 2015 23:53:45 +0000 (16:53 -0700)]
Add missing include.

osi_malloc was never included, so it was implicitly defined as
returning an integer (thank you, C). Clang caught the int to pointer
conversion error.

Change-Id: I0d8a3363d92cb72a22780d049a53e193d2e50ec5

9 years agoam 818d0f2a: SAP: Make it possible to enforce a 16-digit pin code (1/5)
Casper Bonde [Tue, 9 Jun 2015 22:05:04 +0000 (22:05 +0000)]
am 818d0f2a: SAP: Make it possible to enforce a 16-digit pin code (1/5)

* commit '818d0f2afb10c75125b0df9ea2bce6108268a269':
  SAP: Make it possible to enforce a 16-digit pin code (1/5)

9 years agoSAP: Make it possible to enforce a 16-digit pin code (1/5)
Casper Bonde [Thu, 21 May 2015 09:08:45 +0000 (11:08 +0200)]
SAP: Make it possible to enforce a 16-digit pin code (1/5)

This change enable the posibility to enforce using a
16-digit pin or MITM for a RFCOMM or L2CAP connection.

This is needed for the SIM access profile.

Change-Id: I02886ce284f27295205def3c66fb76372f5dab4f
Signed-off-by: Casper Bonde <c.bonde@samsung.com>
9 years agoPairing is prompted with a wrong bd-address
Satya Calloji [Thu, 21 May 2015 23:44:06 +0000 (16:44 -0700)]
Pairing is prompted with a wrong bd-address

Slave initiated encryption was not being notified on the correct
address and causes the key to be lost on slave device triggering
new pairing once in a while.

Change-Id: I5441a9e0bcf8ba45199483ccd02f207892ec296e

9 years agoFix problem where multi-adv instances cannot be re-used
Andre Eisenbach [Fri, 22 May 2015 23:38:54 +0000 (16:38 -0700)]
Fix problem where multi-adv instances cannot be re-used

After using all multi-adv instances and stopping them, the instance ID
for each instance is incorrectly reset, causing the instance to be not
usable anymore.

Bug: 21404808
Change-Id: Ie3a3f07bc2204c7268567cb56248cd3eb7751742

9 years agoRecitfy condition when removing device from IRK resolving list
Nitin Arora [Fri, 22 May 2015 00:58:36 +0000 (17:58 -0700)]
Recitfy condition when removing device from IRK resolving list

This patch corrects the conditional logic before sending HCI
command to remove the IRK list entry from the IRK resolving
list based on the max size of resolving list

Change-Id: I9adc933f0988ae907b3e218ba63814d106784787

9 years agoFix build after cross-key issues broke non privacy enabled builds
Andre Eisenbach [Thu, 21 May 2015 06:55:13 +0000 (23:55 -0700)]
Fix build after cross-key issues broke non privacy enabled builds

Change-Id: Idef7239b07115be9290d7cca6610c603ffb3afa5

9 years agoFix device/address types and IRK value handling
Satya Calloji [Tue, 19 May 2015 23:08:40 +0000 (16:08 -0700)]
Fix device/address types and IRK value handling

Handles the device and address types based on BD address
and provides the IRK values as available.

Change-Id: I351e0aea7f5e55caefa405b34261c75e78306552

9 years agoFixed cross key for LE when paired over BR-EDR
Satya Calloji [Thu, 30 Apr 2015 20:58:59 +0000 (13:58 -0700)]
Fixed cross key for LE when paired over BR-EDR

SMP state machine was resending security request and waiting for a response
when paired over BR-EDR. The state machine state timed out due to this and
SMP failed while doing cross key pairing. Thus, user was asked for pairing
again.

Original author: Priti Aghera <paghera@broadcom.com>
Change-Id: I568f936bb7bee21fb78e8454469ecad3445f026f

9 years agoFix SMP pairing request issue on LE
Satya Calloji [Wed, 6 May 2015 16:24:06 +0000 (09:24 -0700)]
Fix SMP pairing request issue on LE

The cause of the failure:
- the master device sent the three keys to slave, but slave only receive
two and got the link drop before the third key is received.
- the slave device treats it as pairing failure due to the key missing.
SMP should wait for all keys been sent to controller before dropping the link.

Implement L2CAP fix channel tx_complete callback for this reason,
and it has been applied on the channel 6 (SMP).
Channel 7 (BR_SMP channel) was not keeping track of total_tx_unacked
number and closed the link too early. Added check in the
smp_br_key_distribution() and the ACL data tracking there before
posting SMP_BR_AUTH_CMPL_EVT.

Original author: Chaojing Sun <cjsun@broadcom.com>

Change-Id: If48a4c5e28b1d177f14ff089e8dfa3ace41eba83

9 years agoUnpair the other transport on a device paired
Satya Calloji [Tue, 21 Apr 2015 23:34:54 +0000 (16:34 -0700)]
Unpair the other transport on a device paired

When unpair is initiated for LE or BR-EDR transport for a device,
close the link for other transport and unpair the device on
both transports, since both transports on a device are paired
due to cross key.

Original author: Priti Aghera <paghera@broadcom.com>
Change-Id: I13d4757eb056c4bd4c7cc0699ec61a28852702c5

9 years agoStatic address is seen on scanner after unpairing
Satya Calloji [Fri, 24 Apr 2015 06:39:49 +0000 (23:39 -0700)]
Static address is seen on scanner after unpairing

Fix for bonded devices that cannot be removed from resolving list when
scanning, advertising or when a connection is being initiated.
Suspend all active adv, scanning or connection initiation upon
completion of any resolving list operation.

Original author: Chaojing Sun <cjsun@broadcom.com>
Change-Id: Id104dace2944b1878eaf65b93aba3d01e477191d

9 years agoFix for chip capability version check
Satya Calloji [Thu, 7 May 2015 21:06:37 +0000 (14:06 -0700)]
Fix for chip capability version check

Fixes the issue of extended scan command being sent out
for non-capable chipsets

Bug: 20916419
Change-Id: Ib5d848f49c34a3fc9c053a7488e12fb0c252587c

9 years agoLE low power scan feature
Satya Calloji [Tue, 31 Mar 2015 20:24:32 +0000 (13:24 -0700)]
LE low power scan feature

LE low power extended scan feature stack changes
based on Google BLE spec v0.95

Bug: 20029342
Change-Id: I1db2d9bb648295340d0e93ca89d27e1b938d33d3

9 years agoFix allocation for LE scan filter parameters
Nitin Arora [Fri, 12 Sep 2014 01:35:55 +0000 (18:35 -0700)]
Fix allocation for LE scan filter parameters

This change allocates memory for LE scan filter parameters
to copy filter params set by btif inquiry process initiated
using Settings UI

Change-Id: I56ed33b80af3f26ddc8a83edb807f88048503fa7

9 years agoFix for premature BLE RPA timeout
Nitin Arora [Wed, 11 Mar 2015 17:40:59 +0000 (10:40 -0700)]
Fix for premature BLE RPA timeout

RPA timeout expires prematurely when multiple FindMe server
instances start and stop advertisiment continuously. During start
adv TIMER3 is started using oneshot timer and during stop adv
same TIMER0 is stopped, so the TIMER3 is still running and expires
prematurely. This fix stops TIMER3 during disable adv and when RPA
is sent to controller.

Change-Id: I336f84043e5e0e8a833cc6080f8bcc0c1665893e

9 years agoFix GATT connection failure after BT reset
Satya Calloji [Thu, 7 May 2015 16:45:00 +0000 (09:45 -0700)]
Fix GATT connection failure after BT reset

Handles the address type incorrect value storage issue
and removes usage of DMT supported flag which was based
on legacy code

Bug: 20912064
Change-Id: I5bd20dc9cd0997ac3dbd4b346cc0513f1809f241

9 years agoUse correct structure to read LE connection handle
Nitin Arora [Thu, 31 Jul 2014 20:00:21 +0000 (13:00 -0700)]
Use correct structure to read LE connection handle

This patch corrects the retrieval of the connection handle
after the gatt write operation has succeeded successfully.

Change-Id: Iac79a64d6c626c2349b6f1a3744ea49a521a45f4

9 years agoBuild the shared library with --whole-archive
Zach Johnson [Tue, 19 May 2015 21:49:37 +0000 (14:49 -0700)]
Build the shared library with --whole-archive

For stack static libraries, use LOCAL_WHOLE_STATIC_LIBRARIES
to ensure they get --whole-archive applied to them.

This means module symbols in static libraries won't be
removed by the linker and dlsym will find them.

This patch also removes the code hacks we needed to
trick the linker into including the module symbols in
the final shared library.

Change-Id: I2463d0e6fb38f1e75c8293179cf9d4ca33eda84e

9 years agoFix for IRK and IR key write issue
Satya Calloji [Tue, 19 May 2015 21:42:32 +0000 (14:42 -0700)]
Fix for IRK and IR key write issue

Fixes the incorrect flipping of values
for IRK and IR keys in bt_config.conf file

Change-Id: Ia4f9c274b6a3f7594ec31d8bd89b27d1ae54ac78

9 years agoRe-enabled enhanced inquiry scan
Andre Eisenbach [Tue, 19 May 2015 19:22:59 +0000 (12:22 -0700)]
Re-enabled enhanced inquiry scan

A merge/re-factoring error caused enhanced inquiry scan to be disabled,
severely slowing down inquiry and device name resolution.

Change-Id: Id7bc1687a1e1bbbbc8b8b42cc184ce628b6d1b9c

9 years agoFix format-security warning found by clang/llvm.
Chih-Hung Hsieh [Tue, 19 May 2015 18:18:35 +0000 (11:18 -0700)]
Fix format-security warning found by clang/llvm.

BUG: 21299815
Change-Id: I3dd7e92444a9b439c210f7e6ce677307a38113ab

9 years agoFix string template in connection event debug log
Andre Eisenbach [Tue, 19 May 2015 01:44:03 +0000 (18:44 -0700)]
Fix string template in connection event debug log

Also fixed timestamp/bdname buffer confusion.

Change-Id: Idab9746a87ec665cba836c79978f03e13c36d17b

9 years agoInclude osi_module reference in module_init funcion
Andre Eisenbach [Tue, 19 May 2015 01:42:29 +0000 (18:42 -0700)]
Include osi_module reference in module_init funcion

This prevents a crash-loop if the module is stripped by the linker.

Change-Id: I7a3f0349cb62a9e73e003707c1f48ec0a6de7f67

9 years agoFix AlarmTestHarness so alarm tests pass again
Zach Johnson [Mon, 18 May 2015 21:48:50 +0000 (14:48 -0700)]
Fix AlarmTestHarness so alarm tests pass again

Ensures all alarm resources are torn down before the
test ends, so the allocation tracker is happy and
doesn't assert-fail the tests.

Also guard alarm_shutdown to make sure it only runs
if lazy_initialize was run (to avoid undefined behavior)

Change-Id: Iaf78fe85edd2fc65b9c5ee11c74665a11a3bc9ba

9 years agoShutdown alarm callbacks on stack disable; added OSI module
Andre Eisenbach [Mon, 18 May 2015 16:41:06 +0000 (09:41 -0700)]
Shutdown alarm callbacks on stack disable; added OSI module

Change-Id: Iecf1e2258da012bdac69a4f57d38b12a272e3edd

9 years agoFix BT PAN crash by re-ordering callback initialization
Mudumba Ananth [Wed, 6 May 2015 16:15:41 +0000 (09:15 -0700)]
Fix BT PAN crash by re-ordering callback initialization

Bug: 20868163
Change-Id: I8e3bb844b96b762f90a85d8d9d678a1a9cec9c32