OSDN Git Service
Pavlin Radoslavov [Thu, 13 Jul 2017 18:26:40 +0000 (18:26 +0000)]
Disable PAN Reverse Tethering when connection originated by the Remote am:
f7a7f7a948 am:
b4cf6c5aa7 am:
5d9bbfe453 am:
c80b2fc096 -s ours am:
f79aebe2b9 -s ours
am:
9005269de3 -s ours
Change-Id: Ia2e716810d7a667becfe79b5ce5995225ed57648
Pavlin Radoslavov [Thu, 13 Jul 2017 18:23:39 +0000 (18:23 +0000)]
Disable PAN Reverse Tethering when connection originated by the Remote am:
f7a7f7a948 am:
b4cf6c5aa7 am:
5d9bbfe453 am:
c80b2fc096 -s ours
am:
f79aebe2b9 -s ours
Change-Id: I98be6f0d6399502bbf523e3531865a608111c076
Pavlin Radoslavov [Thu, 13 Jul 2017 18:20:40 +0000 (18:20 +0000)]
Disable PAN Reverse Tethering when connection originated by the Remote am:
f7a7f7a948 am:
b4cf6c5aa7 am:
5d9bbfe453
am:
c80b2fc096 -s ours
Change-Id: I143dcc7f5db0b852b596eeb62ac78f1beda40b3c
Pavlin Radoslavov [Thu, 13 Jul 2017 18:18:09 +0000 (18:18 +0000)]
Disable PAN Reverse Tethering when connection originated by the Remote am:
f7a7f7a948 am:
b4cf6c5aa7
am:
5d9bbfe453
Change-Id: I0d39c39b4b573b7df297ed1d93191aff18712fec
Pavlin Radoslavov [Thu, 13 Jul 2017 18:16:08 +0000 (18:16 +0000)]
Disable PAN Reverse Tethering when connection originated by the Remote am:
f7a7f7a948
am:
b4cf6c5aa7
Change-Id: I915ceaf816dc806ba91da7791aa1b43460615935
Pavlin Radoslavov [Thu, 13 Jul 2017 18:13:38 +0000 (18:13 +0000)]
Disable PAN Reverse Tethering when connection originated by the Remote
am:
f7a7f7a948
Change-Id: I5d1c8050de38dde922f9891e70574205422ee7be
Pavlin Radoslavov [Thu, 13 Jul 2017 18:08:51 +0000 (18:08 +0000)]
Merge "Disable PAN Reverse Tethering when connection originated by the Remote" into nyc-dev am:
ee18c2bdd9
am:
cf3547d9a2
Change-Id: Ia5a9015eb954fd331c2a06120456b98baafc0f17
Pavlin Radoslavov [Thu, 13 Jul 2017 18:08:37 +0000 (18:08 +0000)]
Allocate buffers of the right size when BT_HDR is included am:
510697a0d7
am:
5da7401f62
Change-Id: I551622b60e882a85a9c739ec22d08a5af55cb1c9
Pavlin Radoslavov [Thu, 13 Jul 2017 18:06:58 +0000 (18:06 +0000)]
Merge "Disable PAN Reverse Tethering when connection originated by the Remote" into nyc-dev
am:
ee18c2bdd9
Change-Id: I077fed75c11c360dd38d4988f08dca4dd8ddf604
Pavlin Radoslavov [Thu, 13 Jul 2017 18:06:36 +0000 (18:06 +0000)]
Allocate buffers of the right size when BT_HDR is included
am:
510697a0d7
Change-Id: I5ca796fc392413dbf7f89332d1172904f980fab5
TreeHugger Robot [Thu, 13 Jul 2017 18:02:23 +0000 (18:02 +0000)]
Merge "Disable PAN Reverse Tethering when connection originated by the Remote" into nyc-dev
Pavlin Radoslavov [Thu, 13 Jul 2017 01:39:31 +0000 (18:39 -0700)]
Disable PAN Reverse Tethering when connection originated by the Remote
* Check for valid interactions between the three PAN profile roles per
Table 1 in PAN Profile v1.0 spec.
* Explicitly disable connections to the local PANU if the remote is
not PANU.
Bug:
63145701
Test: External script
Change-Id: I29a7e404ba7e4453b6a7c59148a2b3eb7395303a
Merged-In: I29a7e404ba7e4453b6a7c59148a2b3eb7395303a
(cherry picked from commit
9aea2c2f92dd5245f6b35d564ce8e471fec2b4ec)
(cherry picked from commit
3f2ee5b546b65b5b021779588316249276ed3827)
(cherry picked from commit
40c7cefb12ac1a70bf7b1c770c1ab21a5b3f229e)
(cherry picked from commit
f7a7f7a948e38195e8ca897785ac5d489082f0cc)
Pavlin Radoslavov [Thu, 6 Jul 2017 20:39:02 +0000 (13:39 -0700)]
Allocate buffers of the right size when BT_HDR is included
Bug:
63146105
Test: External script
Change-Id: I1f2c871e3fcf57aabdad9d07905e6dae643bd496
Merged-In: I1f2c871e3fcf57aabdad9d07905e6dae643bd496
(cherry picked from commit
d88838a7237cd672d87b6b9cc8d56fff625fd1d5)
(cherry picked from commit
b648c7dfe45c57842d58576f558fdf8edff10bec)
(cherry picked from commit
338e0485940ab278e6a2dc12285ba0798b79cfa4)
Pavlin Radoslavov [Thu, 13 Jul 2017 01:39:31 +0000 (18:39 -0700)]
Disable PAN Reverse Tethering when connection originated by the Remote
* Check for valid interactions between the three PAN profile roles per
Table 1 in PAN Profile v1.0 spec.
* Explicitly disable connections to the local PANU if the remote is
not PANU.
Bug:
63145701
Test: External script
Change-Id: I29a7e404ba7e4453b6a7c59148a2b3eb7395303a
Merged-In: I29a7e404ba7e4453b6a7c59148a2b3eb7395303a
(cherry picked from commit
9aea2c2f92dd5245f6b35d564ce8e471fec2b4ec)
(cherry picked from commit
3f2ee5b546b65b5b021779588316249276ed3827)
(cherry picked from commit
40c7cefb12ac1a70bf7b1c770c1ab21a5b3f229e)
Jack He [Tue, 11 Apr 2017 22:28:08 +0000 (22:28 +0000)]
Check LE advertising data length before caching advertising records am:
1bef3546a6 am:
e6620d18cf am:
585e0c08f5 am:
005eb1d305 am:
7752061901
am:
0ddb124e6e
Change-Id: I61b9f5741d5fd6035fb7d472b83dc9df54eb3483
Jack He [Tue, 11 Apr 2017 22:23:08 +0000 (22:23 +0000)]
Check LE advertising data length before caching advertising records am:
1bef3546a6 am:
e6620d18cf am:
585e0c08f5 am:
005eb1d305
am:
7752061901
Change-Id: I1f821df2a72958ed17ce5bf8baed431a52dfb087
Jack He [Tue, 11 Apr 2017 22:18:07 +0000 (22:18 +0000)]
Check LE advertising data length before caching advertising records am:
1bef3546a6 am:
e6620d18cf am:
585e0c08f5
am:
005eb1d305
Change-Id: Ic4f826e4f963f969c360fe39c6e720c3fb013d23
Jack He [Tue, 11 Apr 2017 22:13:06 +0000 (22:13 +0000)]
Check LE advertising data length before caching advertising records am:
1bef3546a6 am:
e6620d18cf
am:
585e0c08f5
Change-Id: If70a5f9b56845e758c2a2a3150936a72cac9f438
Jack He [Tue, 11 Apr 2017 22:08:06 +0000 (22:08 +0000)]
Check LE advertising data length before caching advertising records am:
1bef3546a6
am:
e6620d18cf
Change-Id: I412c0dd7854d7f6157e1974e285078909543bb41
Jack He [Tue, 11 Apr 2017 22:03:05 +0000 (22:03 +0000)]
Check LE advertising data length before caching advertising records
am:
1bef3546a6
Change-Id: Ibbf6183833d7f00937742fa337a04569c4ef3c2f
Jack He [Thu, 6 Apr 2017 00:59:58 +0000 (17:59 -0700)]
Check LE advertising data length before caching advertising records
Bug:
33899337
Test: make, receive LE advertising
Change-Id: I06b249ac5cabdef64528deda07b8bae749e1d2fd
(cherry picked from commit
d57adbc350fdee4f27b82c9e39a14bd745d92320)
Pavlin Radoslavov [Wed, 15 Mar 2017 05:47:20 +0000 (05:47 +0000)]
resolve merge conflicts of
a3ee2e35 to nyc-dev am:
a33dd28064
am:
b75b8e7f1a
Change-Id: Iab4d37c1e43d62d9132ebf090ac43284f8b668a8
Pavlin Radoslavov [Wed, 15 Mar 2017 05:41:49 +0000 (05:41 +0000)]
resolve merge conflicts of
a3ee2e35 to nyc-dev
am:
a33dd28064
Change-Id: I081f113d8908bb775f56c25beb105a3311b0affb
Pavlin Radoslavov [Tue, 14 Mar 2017 21:46:15 +0000 (14:46 -0700)]
resolve merge conflicts of
a3ee2e35 to nyc-dev
Bug:
34946955
Change-Id: Ieff690edd3aa527a0639483ec8e1e3b661f0ecc4
Merged-In: I0b6f50dee05a58db8c043b4d01fb58c9acbeede9
Pavlin Radoslavov [Tue, 14 Mar 2017 21:10:16 +0000 (21:10 +0000)]
Check the HCI length before extracting the L2CAP length and CID am:
33c68c82c1 am:
172f0d8f7c
am:
ca64d3d38b
Change-Id: I239b72b4cc81728c3e859b7f4efcb820c9d8fef9
Pavlin Radoslavov [Tue, 14 Mar 2017 21:05:16 +0000 (21:05 +0000)]
Check the HCI length before extracting the L2CAP length and CID am:
33c68c82c1
am:
172f0d8f7c
Change-Id: Ifb002936f93d85d635ab76ddf52c0ddb44cb9d3e
Pavlin Radoslavov [Tue, 14 Mar 2017 20:59:46 +0000 (20:59 +0000)]
Check the HCI length before extracting the L2CAP length and CID
am:
33c68c82c1
Change-Id: I1f94530ef90162747ef6a62c3a601856ea1d6672
Pavlin Radoslavov [Wed, 8 Mar 2017 02:48:21 +0000 (18:48 -0800)]
Check the HCI length before extracting the L2CAP length and CID
Bug:
34946955
Test: A2DP streaming to a headset
Change-Id: I0b6f50dee05a58db8c043b4d01fb58c9acbeede9
(cherry picked from commit
ecc0835114cbae3033d8b0e25bd8b443880d5077)
Andre Eisenbach [Sat, 23 Jul 2016 06:15:11 +0000 (23:15 -0700)]
Remove position dependent lookup tables in AT command parser
The various position dependent lookup tables in the AT command parser
were out of sync, causing invalid responses to the AT+CBPS command for
example.
This patch gets rid of positionally dependent enums for simple lookup
tables that correlate all the values for easier, less error prone
maintenance of the related tables.
This re-instates a previously reverted patch after fixing incorrect
field order in tBTA_AG_INDICATOR_MAP.
Change-Id: I7f8a052e78706c8c72c5102b38cfe9ce200ae0d9
Fixes:
29978908
Andre Eisenbach [Sat, 5 Nov 2016 00:43:17 +0000 (17:43 -0700)]
Mask out HFP 1.7 feature bits if peer version is <1.7
Bug:
32378402
Merged-In: I568e8c4c584d56d744cf7a30273feac1d8d4c4df
Change-Id: Iac8684bdfd02b18cce260bedefb829e8f7285361
(cherry picked from commit
1ad2678e2ff5fa3dbfae9dc76ab646db10794e4e)
(cherry picked from commit
571f23ca31cdbc87cae8c078b5885246dd779498)
Jakub Pawlowski [Mon, 24 Oct 2016 22:00:12 +0000 (15:00 -0700)]
Fix random crashes in HID related code
Operation on characteristics/descriptors shouldn't access GATT database
when it's executed. This could happen while service rediscovery is in
progress.
Bug:
32240759
Test: connect to HID device
Change-Id: Ie2b6e6b451456204b1cea1e500df9a0ff949a9ef
(cherry picked from commit
d8f09d077d9017a522c17f4b9a49328b0ed3e91e)
Andre Eisenbach [Tue, 18 Oct 2016 00:32:45 +0000 (17:32 -0700)]
Reset device security flags when pairing fails
Bug:
29998634
Test: manual
Change-Id: Icd9a76a065de147372df060c0b9555c75bcf46bc
Jakub Pawlowski [Mon, 3 Oct 2016 20:25:01 +0000 (13:25 -0700)]
Fix bad GATT client state machine state after successfull cache load
If the GATT service cache was successfully loaded from a file, the
state must be reset to idle.
Bug:
31175159
Change-Id: I92ebf1bec9d2e7467d7412b41923614ec5a13b6d
Andre Eisenbach [Wed, 28 Sep 2016 01:07:58 +0000 (18:07 -0700)]
Fix 100 LE device connection limitation
Currently after 100 devices are added to the device security database,
any subsequent LE connection to a newly discovered LE device address
will fail as entries in the security record database are not reused.
This patch removes a device record if the device itself is removed and
also ensures that the oldest device security record is deleted if the
limit is reached to ensure a new record can be allocated.
Bug:
31625900
Change-Id: I22f6c82c64a9a9bfb2a16d79182903e5aa011355
Jakub Pawlowski [Mon, 26 Sep 2016 21:05:18 +0000 (14:05 -0700)]
Fix unnecessary error message during GATT discovery
Bug:
31637098
Change-Id: Ib2545e7827bd338d2e22c88836818fce23e7a057
chaoyu.x.wu [Mon, 11 Apr 2016 06:08:48 +0000 (14:08 +0800)]
Fix the BLE connection failure with some mice
If enable the "connection parameters update" during GATT discovery,
it may cause some device connection failure due to connection timeout.
Since the the "connection parameter update" is enabled again when GATT
discovery completed, remove the enable of "connection parameter update"
after SMP complete to fix the issue.
This issue was already fixed in commit
2d41fe1c, but then it was
re-introduced in commit
444a8da8, which also removed comment explaining
the issue, added back in this patch.
Bug:
29060797
Change-Id: I42b0b36056821c30d887484e22bfcbd04ea7ca03
(cherry picked from commit
1ec17e06c73c67592aeda29e0aaa03580fdecce9)
Pavlin Radoslavov [Wed, 14 Sep 2016 23:39:02 +0000 (16:39 -0700)]
Add BT_HCI_UNKNOWN_MESSAGE_TYPE log event
If the received HCI type is unknown, then log an event and abort.
The most likely reason for that to happen is if the UART stream
is corrupted. We cannot recover from that, and there is not much
else we can do.
Also, fixed a bug in an HCI-related unit test that was exposed
by the above change.
Bug:
31432127
Change-Id: Ia888c485f177af4962268bf8f593b27fd7a4b080
(cherry picked from commit
27ec0c7824cf67b8a36bf5391734e6d2fc6207e2)
Jakub Pawlowski [Fri, 16 Sep 2016 15:03:16 +0000 (08:03 -0700)]
Fix bad address type assumption
LE related code should not use BTM_ACL_IS_CONNECTED, because it assumes
classic transport.
In this particular case, connection created event, which was result of
advertising, caused cancellation of "LE Create Connection".
Attempt to send "LE Create Connection Cancel" was checking if connection
is already established, but was failing to do so becuase
BTM_ACL_IS_CONNECTED was used instead of btm_bda_to_acl with proper
transport. This caused just created connection to be dropped.
Bug:
31442085
Change-Id: Ia345a3d00e8567160f4abb2a31c4130ee69d67a3
(cherry picked from commit
f5566938ba671329d91c84c30ab126fbcdfc16d7)
Andre Eisenbach [Fri, 16 Sep 2016 19:56:58 +0000 (19:56 +0000)]
Merge "Add a missing case for BTA_DM_SEARCH_CANCEL_CMPL_EVT" into nyc-mr1-dev
Jakub Pawlowski [Thu, 15 Sep 2016 15:02:05 +0000 (08:02 -0700)]
Add a missing case for BTA_DM_SEARCH_CANCEL_CMPL_EVT
Cancelling discovery was not handled properly in
btif_dm_search_services_evt and was causing crashes due to assert in
default case.
Bug:
31442085
Change-Id: If9a2c203730c9b06df5ff8d8e251f0c35addcb82
(cherry picked from commit
7df43240c4a7cf5ecd58a39f03d235bf52929d79)
Jakub Pawlowski [Thu, 15 Sep 2016 15:04:04 +0000 (08:04 -0700)]
Fix NPE in l2cble_notify_le_connection
Accessing p_lcb must be guarded with NULL check.
Bug:
31442085
Change-Id: I0f6e3f8e0247c5e8946c4d098f8a3ba442f5fb28
(cherry picked from commit
b4458c93d5b5d7e2c103166d71daff560ee1a978)
Andre Eisenbach [Wed, 14 Sep 2016 19:41:37 +0000 (12:41 -0700)]
Add security record for devices found through LE batch scan
Currently, starting an LE batch scan are not added to the stack internal
device database, which means that the address type and device type
needed for a connection are not available.
This patch ensures that devices found during an LE scan are added to the
device database to ensure connection attempts will succeed.
Bug:
31309376
Change-Id: Ic52d7eaa03d17dcbbd848af9140038bc84ea3bd0
(cherry picked from commit
e0295e2c2eb7cc6eb331d581ed8455d6b30b3bc6)
pkanwar [Tue, 6 Sep 2016 16:21:35 +0000 (09:21 -0700)]
Updating QDID to reflect the certfication done for N.
Change-Id: Ia80cb82c833df341f832d2ab8cc71a868e2c8f5e
Jakub Pawlowski [Thu, 1 Sep 2016 10:29:51 +0000 (03:29 -0700)]
Fix HID crashing on reconnect
This patch fixes crashes on reconnection to HID device.
All those issues are already fixed in AOSP.
Bug:
31221398
Change-Id: I43b64d0b11b1f548cb373332777ea92d8a075466
Andre Eisenbach [Mon, 29 Aug 2016 22:09:48 +0000 (22:09 +0000)]
Merge "Disable auto-pairing for hands-free devices" into nyc-dev am:
fb309b3ce7
am:
88cc389d84
Change-Id: I6c325fa710adfefbbe3e448ebc28a0777253d5d3
Andre Eisenbach [Mon, 29 Aug 2016 22:09:48 +0000 (22:09 +0000)]
Disable auto-pairing for hands-free devices am:
d2a37effc2
am:
f7d632a29d
Change-Id: I6cf3f7c2579e0ef395142aa3165c1e608e7e2fbc
Andre Eisenbach [Mon, 29 Aug 2016 22:05:26 +0000 (22:05 +0000)]
Merge "Disable auto-pairing for hands-free devices" into nyc-dev
am:
fb309b3ce7
Change-Id: Ib7494cc47ff0e93f7f20a12dc79695697d2eecf0
Andre Eisenbach [Mon, 29 Aug 2016 22:05:26 +0000 (22:05 +0000)]
Disable auto-pairing for hands-free devices
am:
d2a37effc2
Change-Id: I87c0ba767d7dcf91cfd6cb4903fea4efd6df392b
TreeHugger Robot [Mon, 29 Aug 2016 21:51:21 +0000 (21:51 +0000)]
Merge "Disable auto-pairing for hands-free devices" into nyc-dev
Andy Hung [Mon, 29 Aug 2016 21:15:52 +0000 (21:15 +0000)]
audio_a2dp_hw: Always update frame counter in out_write am:
5274ab7a31
am:
12851e1b46
Change-Id: I16468c6316fc48923e63f9a52276a2307ce0ae56
Andy Hung [Mon, 29 Aug 2016 21:12:22 +0000 (21:12 +0000)]
audio_a2dp_hw: Always update frame counter in out_write
am:
5274ab7a31
Change-Id: I6f40e0c813cbc7fe9801903f8c2cbfb08e05f6c0
Andy Hung [Thu, 28 Jul 2016 17:45:54 +0000 (10:45 -0700)]
audio_a2dp_hw: Always update frame counter in out_write
Required now that we always return success.
Bug:
30025777
Change-Id: I7db51321672c128039545cc0fb604c615f169bc3
(cherry picked from commit
f4a37b255d1d6fa4cf7cefe2aeb1c3f4fdf33f3c)
Jakub Pawlowski [Tue, 23 Aug 2016 20:27:39 +0000 (20:27 +0000)]
Make gatt_attr use opportunistic connection
am:
970d9d18ec
Change-Id: Iaff1375e619409afe9570b6fb79867070a339902
Jakub Pawlowski [Tue, 23 Aug 2016 20:27:38 +0000 (20:27 +0000)]
GATT: don't update link status for apps that were never connected
am:
aab757d3d6
Change-Id: Id9397aa59aae3570821c9838d428541cfb6a878a
Jakub Pawlowski [Mon, 18 Jul 2016 16:06:49 +0000 (09:06 -0700)]
Make gatt_attr use opportunistic connection
This patch creates new connection mode - opportunistic connection. When
such connection is made, no call to gatt_update_app_hold_link_status
will be made when it's started.
This means that connecting and disconnecting in this mode won't trigger
disconnect timer. When other, app creates regular connection and then
disconnects, the physical connection might get disconnected.
Opportunistic connection is used only for code setting CCC right now.
Bug:
30186455
Change-Id: Ia5be7682b6c3dcb4993060f818dee603aef3e19e
Jakub Pawlowski [Thu, 16 Jun 2016 15:16:48 +0000 (08:16 -0700)]
GATT: don't update link status for apps that were never connected
Right now, in GATT_Deregister we make a call to
gatt_update_app_use_link_flag, which might result in a call to
GATT_SetIddleTimeout on links that this client was never connected to.
In order to fix that, we must check if gatt_update_app_hold_link_status
made any changes to p_tcb->app_hold_link. If not, then skip updating
the timer.
Bug:
30186455
Change-Id: I6f18ec7fe4e80e048adc9e360cae703b7d64d62a
TreeHugger Robot [Fri, 19 Aug 2016 06:15:04 +0000 (06:15 +0000)]
Merge "GATT: don't update link status for apps that were never connected" into nyc-mr1-dev
Jakub Pawlowski [Thu, 16 Jun 2016 15:16:48 +0000 (08:16 -0700)]
GATT: don't update link status for apps that were never connected
Right now, in GATT_Deregister we make a call to
gatt_update_app_use_link_flag, which might result in a call to
GATT_SetIddleTimeout on links that this client was never connected to.
In order to fix that, we must check if gatt_update_app_hold_link_status
made any changes to p_tcb->app_hold_link. If not, then skip updating
the timer.
Change-Id: I6f18ec7fe4e80e048adc9e360cae703b7d64d62a
Jakub Pawlowski [Mon, 18 Jul 2016 16:06:49 +0000 (09:06 -0700)]
Make gatt_attr use opportunistic connection
This patch creates new connection mode - opportunistic connection. When
such connection is made, no call to gatt_update_app_hold_link_status
will be made when it's started.
This means that connecting and disconnecting in this mode won't trigger
disconnect timer. When other, app creates regular connection and then
disconnects, the physical connection might get disconnected.
Opportunistic connection is used only for code setting CCC right now.
Bug:
30186455
Change-Id: Ia5be7682b6c3dcb4993060f818dee603aef3e19e
Satomi [Tue, 9 Aug 2016 16:30:11 +0000 (09:30 -0700)]
Rvert "Register for Service Changed notifications for untrusted devices"
This reverts commit
5f0e23d532f4f90d081ccc0e294f404eb5e5b688.
Instead of reusing service discovery data, gatt profile initiates
discovery by service uuid before regular service discovery is started,
and both discovery procedures interfere with each other.
As a result, link is dropped.
Bug:
30462943
Bug:
30481143
Change-Id: Ic63339f4f46eda70e575a4103974766d54a9d624
Signed-off-by: Satomi <michitsuta@casio.co.jp>
Jakub Pawlowski [Fri, 5 Aug 2016 12:32:37 +0000 (05:32 -0700)]
Fix APR crashes in read rssi callback
When read RSSI timeouts, callback is called with NULL result. This was
causing crash.
Bug:
30562545
Change-Id: If379c2de4ceab48c021601851a8c83f995440460
Andy Hung [Thu, 28 Jul 2016 23:40:16 +0000 (23:40 +0000)]
Merge "audio_a2dp_hw: Always update frame counter in out_write" into nyc-mr1-dev
Andy Hung [Thu, 28 Jul 2016 17:45:54 +0000 (10:45 -0700)]
audio_a2dp_hw: Always update frame counter in out_write
Required now that we always return success.
Bug:
30025777
Change-Id: I7db51321672c128039545cc0fb604c615f169bc3
Ayan Ghosh [Fri, 22 Jul 2016 09:41:11 +0000 (15:11 +0530)]
Proper handling of AV connection collision
Use case:
1. Pair to Remote
2. Turn OFF/ON BT on DUT
3. After DUT's BT is turned ON, Remote would reconnect to DUT
Failure:
Bluetooth settings UI continues to display Connecting when
BT was Turned OFF and ON.
Root cause:
- This is a connection collision case where remote is not responding
to DUT initiated SDP attribute fetch request for AV. AV holds outgoing
connection for sometime and meanwhile remote starts AV connection
from its end. Then DUT disconnects the SDP channel after a second
without waiting to fetch requested info, and this confuses DUT's AV
state machine. The outgoing connection could not proceed as incoming
AV L2CAP connects, because DUT's AV state machine is not equipped
with handling this scenario. On incoming connection timer expiry, it
does not start AV media channel as it finds AV Open has not been done
from upper layer after incoming L2CAP got connected.
- When the incoming path 2s timer expires, the DUT checks whether Open
has been called after incoming state is set. This is not the case here,
because Open was triggered earlier as as part of the outgoing
connection. As a result, A2DP cannot connect at all.
Fix:
- Properly set collision flags for handling AV connection collision.
- Update BTA AV handle even when BTIF AV state machine is yet to be built.
Bug:
30362987
Change-Id: I02a3adb62479b0f762bc792a5727d06e11eaaa52
(cherry picked from commit
db1e3a5fbb41cd1faf572c5f89ec9212c5ff2986)
Tom Turney [Mon, 25 Jul 2016 21:23:30 +0000 (21:23 +0000)]
Revert "Remove position dependent lookup tables in AT command parser"
This reverts commit
1e7afc829bde75489d14669b2baea1e9c47b1d56.
Revert Reason: This CL causes regressions b/
30367872, b/
30368041,
b/
30368763.
Change-Id: I48da5caac1e9fe32462c236385f768b896fa6542
Andre Eisenbach [Sat, 23 Jul 2016 06:15:11 +0000 (23:15 -0700)]
Remove position dependent lookup tables in AT command parser
The various position dependent lookup tables in the AT command parser
were out of sync, causing invalid responses to the AT+CBPS command for
example.
This patch gets rid of positionally dependent enums for simple lookup
tables that correlate all the values for easier, less error prone
maintenance of the related tables.
Change-Id: I84f7d4f4a803e6e52bf2021c6c74917e90bbc846
Fixes:
29978908
ugo_yu [Fri, 3 Jun 2016 10:04:24 +0000 (18:04 +0800)]
GATT: Deregister notification when a GATT connection is closed
Precondition:
1. Pair with specific HOGP mouse.
Steps:
1. Pair with HOGP mouse (iBuffalo BSMBB09DS)
2. Unpair the mouse.
3. Pair the mouse again.
Failure:
Pairing is successful, but the mouse won't connect.
Root Cause:
Some HOGP mice send notifications before the stack writes the
client characteristic configuration descriptor.
The Bluetooth stack doesn't deregister these notifiactions
when disconnecting.
Fix:
Deregister notifications when the GATT connection closes.
Fixes:
29111689
Change-Id: I520faeaa5fc396381cb248d3a2c49efbffa12261
Andre Eisenbach [Fri, 15 Jul 2016 17:50:32 +0000 (10:50 -0700)]
Make parameter set S4 default for eSCO
Bug:
29615817
Change-Id: I5256b31a746433f10c2e7de1629952f668c99d16
Subramanian Srinivasan [Mon, 16 May 2016 18:14:03 +0000 (11:14 -0700)]
Process Gatt read multiple response properly
The Gatt server multi response queue is made NULL after each Gatt
server response is sent by BT stack in response to the remote Gatt
client's request. But the multi response queue is not initialized
again to process subsequent read multiple Gatt server responses.
Hence, the BT stack does not send Gatt server responses for the
subsequent read multiple requests from remote device which inturn
leads to disconnection. This change would process read multiple
responses by initializing the queue when it is null.
Some of Bluetooth certification test cases involve testing
Gatt server's capability to process and send read multiple
response.
Test case: TC_GAR_SR_BV_05_C
This change also cleans up unnecessary initialization and freeing
of multi rsp queue. This change makes sure that the stack initializes
multi rsp queue only when it is necessary(ie only when the Gatt
multiple read response is being processed).
Bug:
29011255
Change-Id: Ia3e2e1569ee16cac9c518f95501945257b9fb7fd
(cherry picked from commit
3737592a7846766083041e81d72a2fab0b27fb38)
Ajay Panicker [Wed, 29 Jun 2016 23:39:07 +0000 (16:39 -0700)]
Add logs for AVRCP commands that originate from a remote device
Change-Id: I02b213913685d831bfe00e1938baef953428e048
Jacky Cheung [Wed, 6 Jul 2016 22:11:30 +0000 (15:11 -0700)]
New status code for two SMP authorization failures
On BTA_DM_AUTH_SMP_UNKNOWN_ERR and BTA_DM_AUTH_SMP_CONN_TOUT, bond state
status will be notified as BT_STATUS_AUTH_FAILURE. This is observed during
the pairing flow with iOS devices.
Plus minor cleanup on SMP errors and fail reasons.
Bug:
29779689
Change-Id: Ia32fe6bb84b07272d5159409f65217a06a2e5f8e
Andre Eisenbach [Thu, 7 Jul 2016 16:58:59 +0000 (09:58 -0700)]
Disable auto-pairing for hands-free devices
Fixes:
30004157
Change-Id: Id170856fbee5ea345f02f55d3a6e3376d846c2de
Andre Eisenbach [Thu, 7 Jul 2016 16:58:59 +0000 (09:58 -0700)]
Disable auto-pairing for hands-free devices
Fixes:
30004157
Change-Id: Id170856fbee5ea345f02f55d3a6e3376d846c2de
(cherry picked from commit
e8b81851c33095fe3b3ac78329073309be5421e1)
Jacky Cheung [Mon, 23 May 2016 19:39:01 +0000 (12:39 -0700)]
Add BT_HCI_TIMEOUT and BT_CONFIG_SOURCE log events.
These events are used to track HCI timeout and configuration file
usage respectively.
Change-Id: I5c8b6ef20b61f03b9ccb74f3b1c9784e4653b770
Jacky Cheung [Tue, 17 May 2016 20:42:43 +0000 (13:42 -0700)]
SMP: Delay authorization complete.
Delay authorization complete during Bond Pending state in SMP.
Instead of automatically advancing the Bond Pending state, create
a 500ms window to allow the slave to stop pairing by sending over
the Pairing Failed command during the Bond Pending state.
BUG:
28475887
Change-Id: Id6c30247d15258cd18eb34827694b6cd79ca753a
Andre Eisenbach [Wed, 29 Jun 2016 19:46:13 +0000 (12:46 -0700)]
Log RSSI when A2DP buffers are flushed
To add another datapoint and potentially narrow down *why* we had to
flush the buffers, add RSSI logging to keep track of signal strength
during audio drop-out events.
Change-Id: Ie52f56290951130165a9f375a898a9bacf459d55
Andre Eisenbach [Mon, 27 Jun 2016 23:53:22 +0000 (23:53 +0000)]
Add Subaru and Nissan car kits to auto pair blacklist
am:
d13870072e
Change-Id: Iff3e3643f4cc36c093e5a7d0d47af8e3aa79fe9c
Andre Eisenbach [Mon, 27 Jun 2016 22:49:53 +0000 (15:49 -0700)]
Add Subaru and Nissan car kits to auto pair blacklist
Bug:
29157087
Change-Id: If227963b939a9b0ed55e6d900364c71932d3cfe8
Andre Eisenbach [Fri, 24 Jun 2016 23:54:36 +0000 (23:54 +0000)]
A2DP media task: Flush full TX queue on congestion
am:
d881c4b467
Change-Id: Ie00432fcec7e869c212a04374d6fcd58094eb643
Andre Eisenbach [Thu, 23 Jun 2016 23:14:53 +0000 (16:14 -0700)]
A2DP media task: Flush full TX queue on congestion
Currently, our TX queue does not allow for quick recovery of minor
congestion. As we only clear as much room in the queue as is needed to
fix the news frames needed for a given timer tick, any minor congestion
on the TX path can result in single frames to be dropped over an
excessively long amount of time.
From the "just rip the band-aid off" school of thought, drop the whole
queue instead to cause a single drop-out on congestion and catch up to
the live stream immediately, hoping that the stream recovers...
Bug:
29601962
Change-Id: I482c3cfef6d8b51143e54733eb2da5f70663636f
Andre Eisenbach [Fri, 24 Jun 2016 17:31:36 +0000 (17:31 +0000)]
Merge \"Remove SBC frame scrambling\" into nyc-dev
am:
6b142ed4b5
Change-Id: I7dd99e2af5ec4b09a9cba9830df9cf0c677ca46b
Andre Eisenbach [Fri, 24 Jun 2016 17:31:35 +0000 (17:31 +0000)]
Remove log spam in btif_gattc_update_properties
am:
ffdb33b5fc
Change-Id: I1df2268b7ddd28220f69d4eeeaee30097a976e7c
Andre Eisenbach [Fri, 24 Jun 2016 17:16:52 +0000 (17:16 +0000)]
Merge "Remove SBC frame scrambling" into nyc-dev
Andre Eisenbach [Thu, 23 Jun 2016 22:25:44 +0000 (15:25 -0700)]
Remove SBC frame scrambling
Bug:
29601962
Change-Id: I30ce09f1c7550a1be9fd1c8ed70745f9aa0cdb44
Andre Eisenbach [Thu, 23 Jun 2016 21:22:35 +0000 (14:22 -0700)]
Remove log spam in btif_gattc_update_properties
Bug:
29601962
Change-Id: I4a86b786609b0203a72b750a1c4a38c82fcc5f97
Sharvil Nanavati [Wed, 22 Jun 2016 01:26:51 +0000 (01:26 +0000)]
resolve merge conflicts of
1f433cb to mnc-dr-dev am:
f15ca6d21d -s ours am:
8e80a26078 am:
edb7ce120e
am:
c4bc5d2c5a
Change-Id: I04df6e39839bedf8b40ffd66955d2684b45093bf
Sharvil Nanavati [Wed, 22 Jun 2016 01:19:12 +0000 (01:19 +0000)]
resolve merge conflicts of
1f433cb to mnc-dr-dev am:
f15ca6d21d -s ours am:
8e80a26078
am:
edb7ce120e
Change-Id: Ie7ea41474e11479b54ba526294977dfaa60c8cd7
Sharvil Nanavati [Wed, 22 Jun 2016 01:16:24 +0000 (01:16 +0000)]
resolve merge conflicts of
1f433cb to mnc-dr-dev am:
f15ca6d21d -s ours
am:
8e80a26078
Change-Id: I54a690024ccd316058d9d59ff7b16206f7fcd543
Sharvil Nanavati [Wed, 22 Jun 2016 01:13:44 +0000 (01:13 +0000)]
resolve merge conflicts of
1f433cb to mnc-dr-dev
am:
f15ca6d21d -s ours
Change-Id: Ic1a23e2c6d0284b9fdf346a681f59cdcbaa599e0
Sharvil Nanavati [Tue, 21 Jun 2016 22:56:42 +0000 (15:56 -0700)]
resolve merge conflicts of
1f433cb to mnc-dr-dev
Change-Id: I7278875d21c59316217cb1b99d902f4fc248ca06
Sharvil Nanavati [Tue, 21 Jun 2016 02:16:12 +0000 (19:16 -0700)]
DO NOT MERGE Fix potential DoS caused by delivering signal to BT process
Bug:
28885210
Change-Id: I63866d894bfca47464d6e42e3fb0357c4f94d360
Matadeen Mishra [Mon, 20 Jun 2016 18:05:16 +0000 (18:05 +0000)]
L2CAP: Handle invalid HCI packets
am:
92e0f19ff0
Change-Id: I3df89a1a7933976c30ab3cdf4851149bc128d839
Matadeen Mishra [Wed, 3 Feb 2016 12:43:39 +0000 (18:13 +0530)]
L2CAP: Handle invalid HCI packets
- Handled Buffer over flow for uint16_t
- Discard invalid HCI packets from Codenomican test
tool as data length and actual data not matching
during reassembly
Use case:
Execute L2CAP test suit from Defensics Codenomican
Steps:
1. Pair and connect DUT to Codenomican tool
2. Execute L2CAP test suit from Defensics Codenomican
Failure:
Crash observed on DUT and Codenomican tool stuck in execution.
Root cause:
Codenomican tool sending invalid HCI packets to DUT and
there are no checks to handle buffer over flow and other invalid data
from Codenomican tool.
Bug:
29498064
Change-Id: I6f93c80244fc39d607ad285185136bbbca83d7ae
Pavlin Radoslavov [Fri, 17 Jun 2016 01:57:51 +0000 (01:57 +0000)]
Add missing NULL pointers assignments
am:
ba64c39c8c
Change-Id: I4c010baf150c5daf88de73efdc3041a30cf90ddd
Pavlin Radoslavov [Thu, 16 Jun 2016 23:37:57 +0000 (16:37 -0700)]
Add missing NULL pointers assignments
Each pointer that was freed by one of the following functions should
be reset to NULL:
- config_free()
- data_dispatcher_free()
- fixed_queue_free()
- list_free()
Bug:
29421693
Change-Id: Ie55a04ed986393994564edcf872d7413b0767a85
(cherry picked from commit
8cbc291080730cd7d04990a8fc0e11249b06aa08)
Andy Hung [Wed, 15 Jun 2016 21:03:06 +0000 (21:03 +0000)]
Improve BT HAL write response to BT server reads
am:
5952e40bef
Change-Id: I88946232261030fc2e62fc5be78187d839f17d5f
Andy Hung [Wed, 15 Jun 2016 02:58:58 +0000 (19:58 -0700)]
Improve BT HAL write response to BT server reads
By polling, we ensure the socket buffer is nearly always full,
as blocking socket writes may not wake in time to avoid underflow.
Bug:
28286313
Change-Id: I056768dbd860993c41d44c33a4846d62c50db933
Jakub Pawlowski [Wed, 15 Jun 2016 00:32:43 +0000 (00:32 +0000)]
Merge \"HOGP: Clear pending operations for a given device on connect\" into nyc-dev
am:
bfbda174b5
Change-Id: I1565542c0f9fd29b97d7235a799e3df27e8c8c41
TreeHugger Robot [Wed, 15 Jun 2016 00:28:58 +0000 (00:28 +0000)]
Merge "HOGP: Clear pending operations for a given device on connect" into nyc-dev
Jakub Pawlowski [Tue, 14 Jun 2016 23:32:10 +0000 (23:32 +0000)]
Merge \"HOGP: Preffer write command over write requests\" into nyc-dev
am:
8577ffca06
Change-Id: I71cf1e5e38eed1a0136105d5cd4e1db2fff2ec54