OSDN Git Service

android-x86/system-bt.git
7 years agoMerge "Use proper types in SBC related code" am: 3a9119a909 am: 90471821ee
Jakub Pawlowski [Sat, 15 Oct 2016 05:06:17 +0000 (05:06 +0000)]
Merge "Use proper types in SBC related code" am: 3a9119a909 am: 90471821ee
am: b43e25db14

Change-Id: I05feb73fe71fb8e4e694c0a0d8c83d2d9b4b7aae

7 years agoMerge "Use proper types in SBC related code" am: 3a9119a909
Jakub Pawlowski [Sat, 15 Oct 2016 05:02:17 +0000 (05:02 +0000)]
Merge "Use proper types in SBC related code" am: 3a9119a909
am: 90471821ee

Change-Id: Id4eb1e6c280e78c7b868dea62b2e01b63e389873

7 years agoMerge "Use proper types in SBC related code"
Jakub Pawlowski [Sat, 15 Oct 2016 04:58:16 +0000 (04:58 +0000)]
Merge "Use proper types in SBC related code"
am: 3a9119a909

Change-Id: Ic358915630706a08305bb9264e3c0520dd0efb8e

7 years agoMerge "Use proper types in SBC related code"
Treehugger Robot [Sat, 15 Oct 2016 04:51:06 +0000 (04:51 +0000)]
Merge "Use proper types in SBC related code"

7 years agoUse proper types in SBC related code
Jakub Pawlowski [Sat, 15 Oct 2016 00:14:16 +0000 (17:14 -0700)]
Use proper types in SBC related code

Use int32_t and int16_t instead of SINT32 and SINT16

Test: organoleptic assessment of audio quality from Android and Linux
Change-Id: Ia4d8a5f08163a90240382fd102082f5aab9611c5

7 years agoMerge "Add device record for BR/EDR devices with derived LE keys" am: fbf43ab2c5...
Subramanian Srinivasan [Sat, 15 Oct 2016 00:55:20 +0000 (00:55 +0000)]
Merge "Add device record for BR/EDR devices with derived LE keys" am: fbf43ab2c5 am: f7f7a70659
am: 9363b628ae

Change-Id: If8d64a374a579df8e6f63c41792a6897f434e0c8

7 years agoMerge "Add device record for BR/EDR devices with derived LE keys" am: fbf43ab2c5
Subramanian Srinivasan [Sat, 15 Oct 2016 00:47:59 +0000 (00:47 +0000)]
Merge "Add device record for BR/EDR devices with derived LE keys" am: fbf43ab2c5
am: f7f7a70659

Change-Id: I72dc909f8ca1fe0e9c371ec8bd0d86c68cb08aea

7 years agoMerge "Add device record for BR/EDR devices with derived LE keys"
Subramanian Srinivasan [Sat, 15 Oct 2016 00:43:58 +0000 (00:43 +0000)]
Merge "Add device record for BR/EDR devices with derived LE keys"
am: fbf43ab2c5

Change-Id: Ib5f6a34cde57ad6a3560127f7035e1ad8737cb98

7 years agoMerge "Add device record for BR/EDR devices with derived LE keys"
Treehugger Robot [Sat, 15 Oct 2016 00:34:00 +0000 (00:34 +0000)]
Merge "Add device record for BR/EDR devices with derived LE keys"

7 years agoMerge "A2DP-related renaming: a2d_* to a2dp_*" am: e0214a0be6 am: 44ae7c017f
Pavlin Radoslavov [Sat, 15 Oct 2016 00:33:37 +0000 (00:33 +0000)]
Merge "A2DP-related renaming: a2d_* to a2dp_*" am: e0214a0be6 am: 44ae7c017f
am: 7572831816

Change-Id: I2b414cdf5407046edc691dff02363c973ea89fdf

7 years agoMerge "A2DP-related renaming: a2d_* to a2dp_*" am: e0214a0be6
Pavlin Radoslavov [Sat, 15 Oct 2016 00:24:30 +0000 (00:24 +0000)]
Merge "A2DP-related renaming: a2d_* to a2dp_*" am: e0214a0be6
am: 44ae7c017f

Change-Id: Ic4c625f14330a0a5a81f0946f33dd036fefc19f8

7 years agoMerge "A2DP-related renaming: a2d_* to a2dp_*"
Pavlin Radoslavov [Sat, 15 Oct 2016 00:20:28 +0000 (00:20 +0000)]
Merge "A2DP-related renaming: a2d_* to a2dp_*"
am: e0214a0be6

Change-Id: I0f62fb6f38a94f3716a9a09a70a32e2175fc3686

7 years agoMerge "A2DP-related renaming: a2d_* to a2dp_*"
Treehugger Robot [Sat, 15 Oct 2016 00:09:42 +0000 (00:09 +0000)]
Merge "A2DP-related renaming: a2d_* to a2dp_*"

7 years agoFixes setting of service uuid mask during BLE APCF scan am: 96d078b59d am: 377897a3a4
Subramanian Srinivasan [Fri, 14 Oct 2016 23:45:41 +0000 (23:45 +0000)]
Fixes setting of service uuid mask during BLE APCF scan am: 96d078b59d am: 377897a3a4
am: d7310dd338

Change-Id: I0531f219b4b9cb9afd35fe967c3c6bad35cbdb64

7 years agoFixes setting of service uuid mask during BLE APCF scan am: 96d078b59d
Subramanian Srinivasan [Fri, 14 Oct 2016 23:41:08 +0000 (23:41 +0000)]
Fixes setting of service uuid mask during BLE APCF scan am: 96d078b59d
am: 377897a3a4

Change-Id: I9dbc4d197f18c1b901d9bcbef204c4c6c9e97849

7 years agoFixes setting of service uuid mask during BLE APCF scan
Subramanian Srinivasan [Fri, 14 Oct 2016 23:37:26 +0000 (23:37 +0000)]
Fixes setting of service uuid mask during BLE APCF scan
am: 96d078b59d

Change-Id: Ie924fc835a32ec188a7a004445db1d80ca3af65f

7 years agoAdd device record for BR/EDR devices with derived LE keys
Subramanian Srinivasan [Fri, 14 Oct 2016 22:43:34 +0000 (15:43 -0700)]
Add device record for BR/EDR devices with derived LE keys

Loads BLE keys stored in NVRAM to btm_sec database for BR/EDR
devices with cross transport derived LE keys after BT reset.
This change also makes sure that after BT reset, while loading
the bonded devices from NVRAM, the bonded devices(with device
type BR/EDR and having derived BLE keys) are also added to the
resolving list after loading the IRK into btm_sec database.

Test: vendor
Change-Id: I1c9164a947526cf2ea36156458d148f5cbee778f

7 years agoA2DP-related renaming: a2d_* to a2dp_*
Pavlin Radoslavov [Fri, 14 Oct 2016 22:14:37 +0000 (15:14 -0700)]
A2DP-related renaming: a2d_* to a2dp_*

Test: top-level compilation and running A2DP

Change-Id: Ibbd3176b86667885666bfe29025ec2c120fafce6

7 years agoFixes setting of service uuid mask during BLE APCF scan
Subramanian Srinivasan [Mon, 24 Aug 2015 19:17:03 +0000 (12:17 -0700)]
Fixes setting of service uuid mask during BLE APCF scan

Fixes setting of incorrect service uuid mask bytes in vendor
specific command when service uuid mask length is less than
the length of service uuid APCF filter.
eg:ServiceUuid:12131215-0000-1000-8000-00805F9B34FB
SvcMaskUuid:0000FFFF-0000-1000-8000-00805F9B34FB
In the above eg, user is trying to apply 32 bit service uuid
mask on 32 bit service uuid. But the stack treats the
service uuid mask as 16 bits and inserts garbage values for
the first 16 bits of service uuid mask in the VS command
since the MSB bits of the mask are zeroes. This change fixes
the scenario where service uuid mask length is less than
service uuid length.

Change-Id: Ie1aece1162b1ba7f4b7a3e9eea7eb5a074f85d62

7 years agoHCI HAL: Retry writing HCI data on UART socket for EAGAIN errors am: d20c0d7bb6 am...
Lawrance Liu [Fri, 14 Oct 2016 21:38:45 +0000 (21:38 +0000)]
HCI HAL: Retry writing HCI data on UART socket for EAGAIN errors am: d20c0d7bb6 am: 3953dcbb1b
am: ebc4f2afe6

Change-Id: Id229d7d1a2e4009d334b2472169c102f37482f17

7 years agoHCI HAL: Retry writing HCI data on UART socket for EAGAIN errors am: d20c0d7bb6
Lawrance Liu [Fri, 14 Oct 2016 21:34:15 +0000 (21:34 +0000)]
HCI HAL: Retry writing HCI data on UART socket for EAGAIN errors am: d20c0d7bb6
am: 3953dcbb1b

Change-Id: Ie98ec8c6691a8a8ec81aa688e34207a3b3777ac3

7 years agoHCI HAL: Retry writing HCI data on UART socket for EAGAIN errors
Lawrance Liu [Fri, 14 Oct 2016 21:30:14 +0000 (21:30 +0000)]
HCI HAL: Retry writing HCI data on UART socket for EAGAIN errors
am: d20c0d7bb6

Change-Id: Idfdad13516242353eed284fe4e2683c5d69dcb3c

7 years agoMerge "Renamed files: *.c to *.cc in bta/av and stack/a2dp" am: 3f3b855dd0 am: df376891db
Pavlin Radoslavov [Fri, 14 Oct 2016 20:46:53 +0000 (20:46 +0000)]
Merge "Renamed files: *.c to *.cc in bta/av and stack/a2dp" am: 3f3b855dd0 am: df376891db
am: 1a9cdbb08c

Change-Id: I6f7af8048b96941cbb50559de7498badda692500

7 years agoUpdate hf structure on phone state change only if SLC is up am: d4710b9012 am: b842b61db6
Satish Kodishala [Fri, 14 Oct 2016 20:46:44 +0000 (20:46 +0000)]
Update hf structure on phone state change only if SLC is up am: d4710b9012 am: b842b61db6
am: 1ef34e333c

Change-Id: I1feea297c8d2e29b9d5fdc829cadad58fe3799a0

7 years agoUpdate GATT channel state to closing during disconnection am: ce1f3407a4 am: 5037d971dc
Nitin Arora [Fri, 14 Oct 2016 20:46:34 +0000 (20:46 +0000)]
Update GATT channel state to closing during disconnection am: ce1f3407a4 am: 5037d971dc
am: b682e6484c

Change-Id: I769e8bddf331751231928524fafe7636462e2e9a

7 years agoSkip LE key derivation if BR key is temporary am: a6a2ece5fd am: a9a04553eb
Nitin Arora [Fri, 14 Oct 2016 20:46:26 +0000 (20:46 +0000)]
Skip LE key derivation if BR key is temporary am: a6a2ece5fd am: a9a04553eb
am: 49c62fc5b2

Change-Id: Id92d8d550e9cafdc9d59609a5ae13d874a87aed0

7 years agoAdd null checks for L2CAP socket callback am: 62e6c14cde am: 1f8a09aa29
Srinu Jella [Fri, 14 Oct 2016 20:46:17 +0000 (20:46 +0000)]
Add null checks for L2CAP socket callback am: 62e6c14cde am: 1f8a09aa29
am: 3857c05a8c

Change-Id: I53f4d6de85ffbb4ec70ee432fbd0a4ff3f7bc5e9

7 years agoMerge "Rectify size passed to copy service name to security records" am: 682ff8e512...
Gurpreet Ghai [Fri, 14 Oct 2016 20:46:04 +0000 (20:46 +0000)]
Merge "Rectify size passed to copy service name to security records" am: 682ff8e512 am: d420941b75
am: de468f8a5d

Change-Id: I67212c0079a2fc1fd471005e3bdb1ebe987e8326

7 years agoMerge "Remove bonded device information on pairing rejected" am: 79fe542032 am: fde6b...
Srinu Jella [Fri, 14 Oct 2016 20:45:54 +0000 (20:45 +0000)]
Merge "Remove bonded device information on pairing rejected" am: 79fe542032 am: fde6bd57c0
am: 106bf7d760

Change-Id: Ib190380648b91a95fa5d05b5aaf693c97da52ee9

7 years agoMerge "Cleanup L2CAP socket properly on close" am: db45524a30 am: 3157b97d84
Srinu Jella [Fri, 14 Oct 2016 20:45:45 +0000 (20:45 +0000)]
Merge "Cleanup L2CAP socket properly on close" am: db45524a30 am: 3157b97d84
am: 11fc4a9f16

Change-Id: I3093a857962c05116114f24acfee9a0dc3a1d05b

7 years agoFix HFP AT command BIA failures am: 650e755cd4 am: 31fc3cb2f7
Devin Kim [Fri, 14 Oct 2016 20:45:36 +0000 (20:45 +0000)]
Fix HFP AT command BIA failures am: 650e755cd4 am: 31fc3cb2f7
am: 255dfcd6c9

Change-Id: I64aa74dc1a61de40635a5cd3f3a7fefe65445565

7 years agoRFCOMM: Prevent sending data in BTA_JV_ST_NONE state am: 46069c6419 am: c81d9e3de2
Srinu Jella [Fri, 14 Oct 2016 20:45:24 +0000 (20:45 +0000)]
RFCOMM: Prevent sending data in BTA_JV_ST_NONE state am: 46069c6419 am: c81d9e3de2
am: bde59bd778

Change-Id: Ia6e70ae1760aa1e699a21cf3459c45eb2a41947c

7 years agoAdd missing header files for ninja am: 23f1d32922 am: 16230963b6
Jakub Pawlowski [Fri, 14 Oct 2016 20:45:12 +0000 (20:45 +0000)]
Add missing header files for ninja am: 23f1d32922 am: 16230963b6
am: cfbdbeb642

Change-Id: I31ef6d7e7d7315f816bf20b235f8565d6a6919ef

7 years agoMerge "Renamed files: *.c to *.cc in bta/av and stack/a2dp" am: 3f3b855dd0
Pavlin Radoslavov [Fri, 14 Oct 2016 20:42:59 +0000 (20:42 +0000)]
Merge "Renamed files: *.c to *.cc in bta/av and stack/a2dp" am: 3f3b855dd0
am: df376891db

Change-Id: I03f44deb807183d65bd7b26fcefa3aa2582db9dc

7 years agoUpdate hf structure on phone state change only if SLC is up am: d4710b9012
Satish Kodishala [Fri, 14 Oct 2016 20:42:48 +0000 (20:42 +0000)]
Update hf structure on phone state change only if SLC is up am: d4710b9012
am: b842b61db6

Change-Id: I2889bd31f3d8c4cd59aa4e3cd4aa9199d893f321

7 years agoUpdate GATT channel state to closing during disconnection am: ce1f3407a4
Nitin Arora [Fri, 14 Oct 2016 20:42:36 +0000 (20:42 +0000)]
Update GATT channel state to closing during disconnection am: ce1f3407a4
am: 5037d971dc

Change-Id: I41bc62fae40c47948c213a55fdb485cfb0f2eb37

7 years agoSkip LE key derivation if BR key is temporary am: a6a2ece5fd
Nitin Arora [Fri, 14 Oct 2016 20:42:26 +0000 (20:42 +0000)]
Skip LE key derivation if BR key is temporary am: a6a2ece5fd
am: a9a04553eb

Change-Id: I3b0917c6eea1162eb09c808f3a954e2a1fc8dbb4

7 years agoAdd null checks for L2CAP socket callback am: 62e6c14cde
Srinu Jella [Fri, 14 Oct 2016 20:42:17 +0000 (20:42 +0000)]
Add null checks for L2CAP socket callback am: 62e6c14cde
am: 1f8a09aa29

Change-Id: I08d8b3896e14a3b3ca3292faa304ce64bbc8497b

7 years agoMerge "Rectify size passed to copy service name to security records" am: 682ff8e512
Gurpreet Ghai [Fri, 14 Oct 2016 20:42:06 +0000 (20:42 +0000)]
Merge "Rectify size passed to copy service name to security records" am: 682ff8e512
am: d420941b75

Change-Id: Icc1f1146eb8ac5f062aba3286d844f1d2d7d2e3e

7 years agoMerge "Remove bonded device information on pairing rejected" am: 79fe542032
Srinu Jella [Fri, 14 Oct 2016 20:41:55 +0000 (20:41 +0000)]
Merge "Remove bonded device information on pairing rejected" am: 79fe542032
am: fde6bd57c0

Change-Id: Ifa4a0bc24c524764f9526dbdfb32fd0743d8be3f

7 years agoMerge "Cleanup L2CAP socket properly on close" am: db45524a30
Srinu Jella [Fri, 14 Oct 2016 20:41:45 +0000 (20:41 +0000)]
Merge "Cleanup L2CAP socket properly on close" am: db45524a30
am: 3157b97d84

Change-Id: I9f1ed6cede97878fcbf80ce32bdb11cafb9a732e

7 years agoFix HFP AT command BIA failures am: 650e755cd4
Devin Kim [Fri, 14 Oct 2016 20:41:35 +0000 (20:41 +0000)]
Fix HFP AT command BIA failures am: 650e755cd4
am: 31fc3cb2f7

Change-Id: Ib3db5f8eb98c58940e35577dc104876edeede514

7 years agoRFCOMM: Prevent sending data in BTA_JV_ST_NONE state am: 46069c6419
Srinu Jella [Fri, 14 Oct 2016 20:41:24 +0000 (20:41 +0000)]
RFCOMM: Prevent sending data in BTA_JV_ST_NONE state am: 46069c6419
am: c81d9e3de2

Change-Id: I938e01a6d8627260ba7d158233b5b7fb4efdddb2

7 years agoAdd missing header files for ninja am: 23f1d32922
Jakub Pawlowski [Fri, 14 Oct 2016 20:41:11 +0000 (20:41 +0000)]
Add missing header files for ninja am: 23f1d32922
am: 16230963b6

Change-Id: Iab0871053f9a21b7919a76fb5136924bed479e54

7 years agoMerge "Renamed files: *.c to *.cc in bta/av and stack/a2dp"
Pavlin Radoslavov [Fri, 14 Oct 2016 20:36:48 +0000 (20:36 +0000)]
Merge "Renamed files: *.c to *.cc in bta/av and stack/a2dp"
am: 3f3b855dd0

Change-Id: I73f73a60226fca96184792ddaab26a85cdfafeed

7 years agoUpdate hf structure on phone state change only if SLC is up
Satish Kodishala [Fri, 14 Oct 2016 20:36:38 +0000 (20:36 +0000)]
Update hf structure on phone state change only if SLC is up
am: d4710b9012

Change-Id: I4c50f81cc03ec3811ba28258604b2f26bc1458d5

7 years agoUpdate GATT channel state to closing during disconnection
Nitin Arora [Fri, 14 Oct 2016 20:36:29 +0000 (20:36 +0000)]
Update GATT channel state to closing during disconnection
am: ce1f3407a4

Change-Id: I8e61e6a42c570ef6068e0fa69234a2511bb9c911

7 years agoSkip LE key derivation if BR key is temporary
Nitin Arora [Fri, 14 Oct 2016 20:36:20 +0000 (20:36 +0000)]
Skip LE key derivation if BR key is temporary
am: a6a2ece5fd

Change-Id: Ic212a73f1783d02431c6f95edfc8f684796a046e

7 years agoAdd null checks for L2CAP socket callback
Srinu Jella [Fri, 14 Oct 2016 20:36:10 +0000 (20:36 +0000)]
Add null checks for L2CAP socket callback
am: 62e6c14cde

Change-Id: Ic0869d1945696153833bb9b2740ddb85bbe599f5

7 years agoMerge "Rectify size passed to copy service name to security records"
Gurpreet Ghai [Fri, 14 Oct 2016 20:36:02 +0000 (20:36 +0000)]
Merge "Rectify size passed to copy service name to security records"
am: 682ff8e512

Change-Id: Icbe01a2883103cda68f806e2ca099109c0b97e37

7 years agoMerge "Remove bonded device information on pairing rejected"
Srinu Jella [Fri, 14 Oct 2016 20:35:49 +0000 (20:35 +0000)]
Merge "Remove bonded device information on pairing rejected"
am: 79fe542032

Change-Id: I156b1f5b7765b59fdc1bfd834098a39d287bb1cc

7 years agoMerge "Cleanup L2CAP socket properly on close"
Srinu Jella [Fri, 14 Oct 2016 20:35:38 +0000 (20:35 +0000)]
Merge "Cleanup L2CAP socket properly on close"
am: db45524a30

Change-Id: I491cff2ce03d426d20126e24635fa47fbcf8a21c

7 years agoFix HFP AT command BIA failures
Devin Kim [Fri, 14 Oct 2016 20:35:29 +0000 (20:35 +0000)]
Fix HFP AT command BIA failures
am: 650e755cd4

Change-Id: Ia370060c953e73417b54e6906dad4fd929a7d9de

7 years agoRFCOMM: Prevent sending data in BTA_JV_ST_NONE state
Srinu Jella [Fri, 14 Oct 2016 20:35:19 +0000 (20:35 +0000)]
RFCOMM: Prevent sending data in BTA_JV_ST_NONE state
am: 46069c6419

Change-Id: If2ff94e17a6198700e182ea46bcb30bae7796828

7 years agoAdd missing header files for ninja
Jakub Pawlowski [Fri, 14 Oct 2016 20:35:05 +0000 (20:35 +0000)]
Add missing header files for ninja
am: 23f1d32922

Change-Id: I76e28ef1b0b5f1146c2ba3ffd3040e652195a85f

7 years agoHCI HAL: Retry writing HCI data on UART socket for EAGAIN errors
Lawrance Liu [Wed, 21 Sep 2016 15:01:13 +0000 (23:01 +0800)]
HCI HAL: Retry writing HCI data on UART socket for EAGAIN errors

If HCI HAL receives error code "EAGAIN" when transmitting data on UART
socket, retry transmit data again.

Purpose :
When doing system suspend/resume aging test, the HCI HAL may transmit
data during system resuming. In this case, there exist some timing which
BT controller does not allow HCI HAL to transmit data.

Change-Id: Ic1f13c76d8e735c941800a318a0388ca42b1fd72
Test: System suspend/resume aging test.

7 years agoMerge "Renamed files: *.c to *.cc in bta/av and stack/a2dp"
Treehugger Robot [Fri, 14 Oct 2016 20:21:15 +0000 (20:21 +0000)]
Merge "Renamed files: *.c to *.cc in bta/av and stack/a2dp"

7 years agoUpdate hf structure on phone state change only if SLC is up
Satish Kodishala [Thu, 4 Feb 2016 04:05:59 +0000 (09:35 +0530)]
Update hf structure on phone state change only if SLC is up

Usecase:
1. Enable multi-hf
2. Pair and connect A2DP to a headset(hs1).
3. Pair and connect HFP to another headset(hs2)
4. Accept call on AG
5. Disconnect hs2 by powering off headset
6. Disconnect the call
7. Power on the hs2

Failure:
No A2DP playback on hs1 though music player is playing.

Rootcause:
When there is a call on AG, we update both hf structures about
the call. However, when any headset gets disconnected, only its
hf structure is cleared. After the call is ended, we don't clear
hf structures since there is no hf connection. When A2DP queries
for active call, we return true incorrectly since the hs1's structures
are not updated when the call is ended.

Fix:
Update hf structures on phone state change only if SLC is connected
on it. Updating both hf structures regardless of the SLC state causes
hf state to indicate wrong status.

Test: manual
Change-Id: I487792038d97a2bac77639d7c699f49fc0b18f97

7 years agoUpdate GATT channel state to closing during disconnection
Nitin Arora [Thu, 14 May 2015 01:39:50 +0000 (18:39 -0700)]
Update GATT channel state to closing during disconnection

This change ensures that the GATT channel state is
moved to CLOSING state while GATT disconnect is
requested by the host, specifically when the GATT
state is OPEN.
This is needed to prevent any furthur GATT operations,
once GATT disconnect is issued.

Change-Id: I8511caa477881de4f4eaf18b84f23530e1958fe9

7 years agoSkip LE key derivation if BR key is temporary
Nitin Arora [Wed, 19 Aug 2015 22:47:23 +0000 (15:47 -0700)]
Skip LE key derivation if BR key is temporary

This change skips the LE LTK derivation in case the BR pairig
is not deticated bonding and neither side has requested MITM.
I.e. OPP file transfer require such bonds. This change resolve
the issue of residual IRK in the resolving list.

Change-Id: Ifc9dfc097564f603a466a5bd9b245c89f1bb82aa

7 years agoAdd null checks for L2CAP socket callback
Srinu Jella [Wed, 25 Mar 2015 07:36:38 +0000 (13:06 +0530)]
Add null checks for L2CAP socket callback

Use Case: Bluetooth process crashed while sending the file
to remote device.

Steps: Send a file over L2CAP (OBEX over L2CAP) to remote device

Failure: BT process will crash and restarted automatically

Root Cause: L2CAP socket callback reset to null on error
condition, and when other function try to dereference it, this
leads to BT crash.

Fix: Added null checks for L2CAP socket callback

Change-Id: I2e4f20278fcc8a09bd4dbd507a6c4147e0de93c1

7 years agoRenamed files: *.c to *.cc in bta/av and stack/a2dp
Pavlin Radoslavov [Fri, 14 Oct 2016 19:17:08 +0000 (12:17 -0700)]
Renamed files: *.c to *.cc in bta/av and stack/a2dp

Also, fixed C++ related compilation errors.

Test: code compilation from top-level directory
Change-Id: I60367ee7bc54b891cb05bb3f88dd11ebe5b2ca83

7 years agoMerge "Rectify size passed to copy service name to security records"
Treehugger Robot [Fri, 14 Oct 2016 19:49:05 +0000 (19:49 +0000)]
Merge "Rectify size passed to copy service name to security records"

7 years agoMerge "Remove bonded device information on pairing rejected"
Treehugger Robot [Fri, 14 Oct 2016 19:45:26 +0000 (19:45 +0000)]
Merge "Remove bonded device information on pairing rejected"

7 years agoMerge "Cleanup L2CAP socket properly on close"
Treehugger Robot [Fri, 14 Oct 2016 19:43:05 +0000 (19:43 +0000)]
Merge "Cleanup L2CAP socket properly on close"

7 years agoFix HFP AT command BIA failures
Devin Kim [Wed, 7 Sep 2016 04:47:47 +0000 (13:47 +0900)]
Fix HFP AT command BIA failures

Running the PTE test case TC_AG_IIA_BV_01_I, a failure occurs due to
missing initialization of tBTA_AG_VAL.

Bug: 31325270
Test: PTS
Change-Id: I683eccd53d40e79ec03545166b18ffa1922f0fb2

7 years agoRFCOMM: Prevent sending data in BTA_JV_ST_NONE state
Srinu Jella [Mon, 7 Sep 2015 08:10:07 +0000 (13:40 +0530)]
RFCOMM: Prevent sending data in BTA_JV_ST_NONE state

This patch adds state check in bta_jv_rfcomm_write, to prevent sending
data in BTA_JV_ST_NONE state. This would prevent an ASSERT in the code
due to a null handle. The handle might have already been set to null
during the closing of the RFCOMM connection.

Change-Id: Ibc6b1fb7aa6dce9a4acb52d724af3023fad9a9ae

7 years agoRectify size passed to copy service name to security records
Gurpreet Ghai [Thu, 9 Jun 2016 09:06:35 +0000 (14:36 +0530)]
Rectify size passed to copy service name to security records

Use case: Services having name length greater than max length
always take new slot in security records. After few enable
disable cycles in BLE ON scenario, the record gets completely
occupied making further connection impossible.

Steps:
1. Install a BLE App to create BLE always ON scenario.
2. Run a few cycles of Bluetooth(BREDR) enable-disable.

Failure: Once security records are completely occupied, new
connections are not possible because of socket creation
failure due to unavailability of security id.

Root cause: Size passed to copy service name does not include
bit for null termination. So, for services having name size
greater than that size have their last bit truncated for null
termination.
During next enable, the comparison with same size always fails
causing service to take new slot in security records array.

Fix: Increased the size passed to copy service name by 1 after
considering null termination.

Change-Id: I3527df6610932f60fd85bcdd14d5b8a527c79722

7 years agoRemove bonded device information on pairing rejected
Srinu Jella [Thu, 17 Mar 2016 11:53:48 +0000 (17:23 +0530)]
Remove bonded device information on pairing rejected

Use Case: Remove bonded device information from the BTIF layer storage
when authentication failed.

Failure: Remote device appeared in the paired list after authentication
failed.

Steps:
1. Create a connection from DUT to remote.
2. Remove linkkey in remote.
3. Create connection from DUT to remote, which is in paired list of
DUT, Remote rejected the connection and authentication failed.
But after BT OFF/ON, remote device appeared in the paired list

Root Cause: Not removing device if remoted rejected the pairing
request with reason pairing not allowed

Fix: Remove bonded device information from the BTIF layer storage
on rejected with pairing not allowed reason from remote

Change-Id: Ic9e5e1ed70d304edd3dbca82a73833753fa0093c

7 years agoCleanup L2CAP socket properly on close
Srinu Jella [Thu, 7 Apr 2016 13:35:44 +0000 (19:05 +0530)]
Cleanup L2CAP socket properly on close

Use case:
1. Sometimes pairing pop up occurs during Android beam
   transfer though it is not required.
2. No OPP Tx request over OBEX if we cancel during file transfer.

Steps:
1. Pair and connect from DUT to remote.
2. Go to gallery and send a file.
3. Accept same file and stop it from remote during transfer.
4. Repeat step 2-4 10 times.

Failure:
OPP Tx should not fail.

Root cause:
Close request was not properly handled from BTIF layer.

Fix:
1. Close the request properly from BTIF layer
   to close the socket variables and instruct the BTA layer
   close from there as well.

2. Clean up L2CAP socket properly on closure to free
   the entry registered with security manager to avoid
   leak in security manager records.

3. Close the socket for all valid handles including handle 0.

Change-Id: I4e37dcd858af258fbd64fbfb2fbf0083bd743e06

7 years agoAdd missing header files for ninja
Jakub Pawlowski [Fri, 14 Oct 2016 16:09:26 +0000 (09:09 -0700)]
Add missing header files for ninja

Ninja is complaining about unknown size_t and CHAR_BIT.

Test: compile with ninja
Change-Id: I5cf16dbeba964b8553b4e97d9ee21f68891956e3

7 years agoAdd a mechanism to dump A2DP codec stats am: dd5ed02cf2 am: 6f2493b366 am: 6cb12b8702
Pavlin Radoslavov [Fri, 14 Oct 2016 05:59:36 +0000 (05:59 +0000)]
Add a mechanism to dump A2DP codec stats am: dd5ed02cf2 am: 6f2493b366 am: 6cb12b8702
am: ca7e8d2afe

Change-Id: I0242b2951dd662201590c61e242848addae4fdf1

7 years agoAdd a mechanism to dump A2DP codec stats am: dd5ed02cf2 am: 6f2493b366
Pavlin Radoslavov [Fri, 14 Oct 2016 05:55:14 +0000 (05:55 +0000)]
Add a mechanism to dump A2DP codec stats am: dd5ed02cf2 am: 6f2493b366
am: 6cb12b8702

Change-Id: Icbbc8a8c5a1249fa796b9e785550e3ffb0d1fb24

7 years agoAdd a mechanism to dump A2DP codec stats am: dd5ed02cf2
Pavlin Radoslavov [Fri, 14 Oct 2016 05:49:42 +0000 (05:49 +0000)]
Add a mechanism to dump A2DP codec stats am: dd5ed02cf2
am: 6f2493b366

Change-Id: Ic3e89baaa23b82d480a829763a1927106e3dfb7c

7 years agoAdd a mechanism to dump A2DP codec stats
Pavlin Radoslavov [Fri, 14 Oct 2016 05:46:42 +0000 (05:46 +0000)]
Add a mechanism to dump A2DP codec stats
am: dd5ed02cf2

Change-Id: I333334f811d142983439361718d655977ff27d99

7 years agoAdd a mechanism to dump A2DP codec stats
Pavlin Radoslavov [Wed, 12 Oct 2016 16:45:30 +0000 (09:45 -0700)]
Add a mechanism to dump A2DP codec stats

Also, added-back A2DP SBC frames related stats:
  - media_read_total_limited_frames
  - media_read_max_limited_frames
  - media_read_limited_count
  - media_read_total_expected_frames
  - media_read_max_expected_frames
  - media_read_expected_count

A2DP SBC State:
  Frames expected (total/max/ave)                         : 9131 / 8 / 6
  Frames limited (total/max/ave)                          : 0 / 0 / 0
  Counts (expected/limited)                               : 1322 / 0

Bug: 30958229
Test: manual
Change-Id: Id6ddea5eb9d39cf03cae84c79968081d56984e91

7 years agoAdd include for CHAR_BIT definition am: 3fa7cce717 am: dccaa2ee19 am: 48bef27ba4
Jakub Pawlowski [Fri, 14 Oct 2016 03:33:32 +0000 (03:33 +0000)]
Add include for CHAR_BIT definition am: 3fa7cce717 am: dccaa2ee19 am: 48bef27ba4
am: d79c282e0b

Change-Id: I07bef47c41d1692f7db0c1d202f6720d84d2fedb

7 years agoAdd include for CHAR_BIT definition am: 3fa7cce717 am: dccaa2ee19
Jakub Pawlowski [Fri, 14 Oct 2016 03:29:54 +0000 (03:29 +0000)]
Add include for CHAR_BIT definition am: 3fa7cce717 am: dccaa2ee19
am: 48bef27ba4

Change-Id: I640b4eb0d80d7b43a035065f46c4a718faeafb18

7 years agoAdd include for CHAR_BIT definition am: 3fa7cce717
Jakub Pawlowski [Fri, 14 Oct 2016 03:24:02 +0000 (03:24 +0000)]
Add include for CHAR_BIT definition am: 3fa7cce717
am: dccaa2ee19

Change-Id: I491edf2755e53adf75a15bb2506a7999d4154aad

7 years agoAdd include for CHAR_BIT definition
Jakub Pawlowski [Fri, 14 Oct 2016 03:21:33 +0000 (03:21 +0000)]
Add include for CHAR_BIT definition
am: 3fa7cce717

Change-Id: I8fff1882947d3eb0157ea4a33e921ede8b1a0401

7 years agoAdd include for CHAR_BIT definition
Jakub Pawlowski [Thu, 13 Oct 2016 23:49:07 +0000 (16:49 -0700)]
Add include for CHAR_BIT definition

ninja is failing to compile due to missing limits.h include

Change-Id: I4c8eb0df7fb521c44358401ed1ce5cafe29384bb

7 years agoMerge "BTIF A2DP Source and Sink refactor and cleanup" am: afe49c0807 am: 3b77f09952...
Pavlin Radoslavov [Fri, 14 Oct 2016 02:16:25 +0000 (02:16 +0000)]
Merge "BTIF A2DP Source and Sink refactor and cleanup" am: afe49c0807 am: 3b77f09952 am: 9ba0a8e575
am: 1396f71526

Change-Id: I549465178e2cb8d29609933163b81db82a0bea76

7 years agoMerge "BTIF A2DP Source and Sink refactor and cleanup" am: afe49c0807 am: 3b77f09952
Pavlin Radoslavov [Fri, 14 Oct 2016 02:12:49 +0000 (02:12 +0000)]
Merge "BTIF A2DP Source and Sink refactor and cleanup" am: afe49c0807 am: 3b77f09952
am: 9ba0a8e575

Change-Id: I13b5d9eb87d3ae4e8342e53e1ec675515b2c499e

7 years agoMerge "BTIF A2DP Source and Sink refactor and cleanup" am: afe49c0807
Pavlin Radoslavov [Fri, 14 Oct 2016 02:04:27 +0000 (02:04 +0000)]
Merge "BTIF A2DP Source and Sink refactor and cleanup" am: afe49c0807
am: 3b77f09952

Change-Id: I227e533d847b069bc3159a7fd53c2e768cf5f529

7 years agoMerge "BTIF A2DP Source and Sink refactor and cleanup"
Pavlin Radoslavov [Fri, 14 Oct 2016 02:02:27 +0000 (02:02 +0000)]
Merge "BTIF A2DP Source and Sink refactor and cleanup"
am: afe49c0807

Change-Id: I3c0df19cac290ad3e7bc7122f91df25f7ec52514

7 years agoMerge "BTIF A2DP Source and Sink refactor and cleanup"
Treehugger Robot [Fri, 14 Oct 2016 01:55:33 +0000 (01:55 +0000)]
Merge "BTIF A2DP Source and Sink refactor and cleanup"

7 years agoUse proper socket type in uipc for non-android am: 7da3a4a70b am: 174f9687a6 am:...
Jakub Pawlowski [Fri, 14 Oct 2016 01:55:22 +0000 (01:55 +0000)]
Use proper socket type in uipc for non-android am: 7da3a4a70b am: 174f9687a6 am: b728a25abb
am: fcbda9a890

Change-Id: I32cf8141c53a1e31377105dfd523c2cf85a53833

7 years agoUse proper socket type in uipc for non-android am: 7da3a4a70b am: 174f9687a6
Jakub Pawlowski [Fri, 14 Oct 2016 01:51:37 +0000 (01:51 +0000)]
Use proper socket type in uipc for non-android am: 7da3a4a70b am: 174f9687a6
am: b728a25abb

Change-Id: I50a59b47d99f4873821b6ec81f066a17441df494

7 years agoUse proper socket type in uipc for non-android am: 7da3a4a70b
Jakub Pawlowski [Fri, 14 Oct 2016 01:43:54 +0000 (01:43 +0000)]
Use proper socket type in uipc for non-android am: 7da3a4a70b
am: 174f9687a6

Change-Id: I16779ac3e0a731c92411d4de695662b717f30e8e

7 years agoUse proper socket type in uipc for non-android
Jakub Pawlowski [Fri, 14 Oct 2016 01:38:48 +0000 (01:38 +0000)]
Use proper socket type in uipc for non-android
am: 7da3a4a70b

Change-Id: Icf9577a80fda8742df82d1e1c3c7973a349ed146

7 years agoBTIF A2DP Source and Sink refactor and cleanup
Pavlin Radoslavov [Mon, 3 Oct 2016 01:34:46 +0000 (18:34 -0700)]
BTIF A2DP Source and Sink refactor and cleanup

* Moved bta/av/bta_av_sbc.c to stack/a2dp/a2d_sbc_up_sample.c
  and renamed the corresponding bta_av_sbc_up_sample_* functions to
  a2d_sbc_up_sample_*
  Also, renamed bta_av_sbc_init_up_sample() to a2d_sbc_init_up_sample()
* Moved A2DP SBC Encoder-related tasks, state and constants from
  btif_a2dp_source.cc to a2d_sbc_encoder.c
* Introduced A2DP encoder callbacks interface tA2D_ENCODER_INTERFACE,
  and added A2D_GetEncoderInterface() to acccess the interface for a codec.
* Updated a2d_sbc_encoder_init() to specify callbacks:
  - a2d_source_read_callback_t - a callback to read audio data for encoding
  - a2d_source_enqueue_callback_t - a callback to enqueue A2DP source
    packets for transmission
* Removed BTIF_MEDIA_TRSCD_* - the encoding is always PCM
* Removed conditionally defined constants and replaced them by
  local definitions:
  - BTIF_MEDIA_BITRATE_STEP -> A2D_SBC_BITRATE_STEP
  - BTIF_A2DP_DEFAULT_BITRATE -> A2D_SBC_DEFAULT_BITRATE
  - BTIF_A2DP_NON_EDR_MAX_RATE -> A2D_SBC_NON_EDR_MAX_RATE
* Hard-coded the read data timeout period A2DP_DATA_READ_POLL_MS to 10ms
* Merged the UNDERRUN read errors into the UNDERFLOW errors.
* Removed the following statistics, because they are not very useful:
  - media_read_total_limited_frames
  - media_read_max_limited_frames
  - media_read_limited_count
  - media_read_total_expected_frames
  - media_read_max_expected_frames
  - media_read_expected_count
* Updated the implementation of buffer_overruns_max_count to
  use the (new) counter tx_queue_max_dropped_messages instead of
  media_read_max_expected_frames
* Replaced usage of LOG_DEBUG() in stack/a2d/ with LOG_VERBOSE():
  the former is enabled by default on some of the builds.
* Renamed:
  - btif_a2dp_sink_audio_focus_state_t -> btif_a2dp_sink_focus_state_t
  - btif_a2dp_sink_set_audio_focus_state_req() ->
    btif_a2dp_sink_set_focus_state_req()
  - tBTIF_A2DP_SINK_CB.RxSbcQ -> rx_audio_queue
  - btif_a2dp_source_start_aa_req() -> btif_a2dp_source_start_audio_req()
  - btif_a2dp_source_stop_aa_req() -> btif_a2dp_source_stop_audio_req()
  - btif_a2dp_source_aa_readbuf() -> btif_a2dp_source_audio_readbuf()
  - tBTIF_A2DP_SOURCE_CB.TxAaQ -> tx_audio_queue
  - BTIF_A2DP_SOURCE_MEDIA_TIMER_MS -> A2D_SBC_ENCODER_INTERVAL_MS
  - tA2D_AV_MEDIA_FEEDINGS -> tA2D_FEEDING_PARAMS
  - tBTIF_A2DP_SOURCE_INIT_AUDIO -> tA2D_ENCODER_INIT_PARAMS
  - tBTIF_A2DP_SOURCE_UPDATE_AUDIO -> tA2D_ENCODER_UPDATE_PARAMS
  - tBTIF_A2DP_SOURCE_INIT_AUDIO_FEEDING -> tBTIF_A2DP_SOURCE_INIT_FEEDING

Bug: 30958229
Test: TestTracker/65192
Change-Id: Iba0a9694bda3dba73f211f1bde25821497fa6a06

7 years agoUpdate BUILD.gn files am: cc8d3abf78 am: 091b4ce8ac am: 41b6495077
Jakub Pawlowski [Thu, 13 Oct 2016 23:10:50 +0000 (23:10 +0000)]
Update BUILD.gn files am: cc8d3abf78 am: 091b4ce8ac am: 41b6495077
am: d1b36f66ab

Change-Id: I1f659de46e9937c315fde0b6ceff5c62e2b41f0a

7 years agoUpdate BUILD.gn files am: cc8d3abf78 am: 091b4ce8ac
Jakub Pawlowski [Thu, 13 Oct 2016 23:06:53 +0000 (23:06 +0000)]
Update BUILD.gn files am: cc8d3abf78 am: 091b4ce8ac
am: 41b6495077

Change-Id: Ia589eb27bef47864d4b57ef0a1417b01e3d7b15c

7 years agoUpdate BUILD.gn files am: cc8d3abf78
Jakub Pawlowski [Thu, 13 Oct 2016 22:59:13 +0000 (22:59 +0000)]
Update BUILD.gn files am: cc8d3abf78
am: 091b4ce8ac

Change-Id: If532a967b15de43a0c870ad77df6811b807f5951

7 years agoUse proper socket type in uipc for non-android
Jakub Pawlowski [Thu, 13 Oct 2016 22:46:30 +0000 (15:46 -0700)]
Use proper socket type in uipc for non-android

Change-Id: I5e901ca381c816945146b508770a2aa54d9cdd79

7 years agoUpdate BUILD.gn files
Jakub Pawlowski [Thu, 13 Oct 2016 22:57:13 +0000 (22:57 +0000)]
Update BUILD.gn files
am: cc8d3abf78

Change-Id: I6b67b339e78b98d871aabd8ab49a15300614da6b

7 years agoUpdate BUILD.gn files
Jakub Pawlowski [Thu, 13 Oct 2016 22:43:15 +0000 (15:43 -0700)]
Update BUILD.gn files

Test: compiled using ninja

7 years agoSplit btif_media_task into Source, Sink and Control am: 08406e93e6 am: 774907f34e...
Pavlin Radoslavov [Thu, 13 Oct 2016 21:16:09 +0000 (21:16 +0000)]
Split btif_media_task into Source, Sink and Control am: 08406e93e6 am: 774907f34e am: b7edc3485a
am: f9f772257c

Change-Id: I37fd9cad67a42ef43016e698eb67345dd2565847

7 years agoSplit btif_media_task into Source, Sink and Control am: 08406e93e6 am: 774907f34e
Pavlin Radoslavov [Thu, 13 Oct 2016 21:14:32 +0000 (21:14 +0000)]
Split btif_media_task into Source, Sink and Control am: 08406e93e6 am: 774907f34e
am: b7edc3485a

Change-Id: Ib492b939faf4bae9ba885c3d535b27e29aada4a6

7 years agoSplit btif_media_task into Source, Sink and Control am: 08406e93e6
Pavlin Radoslavov [Thu, 13 Oct 2016 21:09:35 +0000 (21:09 +0000)]
Split btif_media_task into Source, Sink and Control am: 08406e93e6
am: 774907f34e

Change-Id: I649bf1a513d69cdbb3c803dff6fc393e7306a565