• R/O
  • HTTP
  • SSH
  • HTTPS

List of commits

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

system/bt


RSS
Rev. Hora Autor
419bd3c 2016-08-24 23:09:56 pramod kotreshappa

Bluetooth: Dynamic ACL buffer allocation based on ACL Priority

1. A2dp acl link priority is set to high once streaming starts
2. Allocation min 2 ACL bufferswq to high priority link

CRs-fixed: 1040557
Change-Id: I8f7742ae193998643ff2a12bf87f9874844ee0f7

5aa0c09 2016-08-24 23:09:56 Satheesh Kumar Pallemoni

Add Remote Device BD address to role switch Blacklist.

When some remote devices acts as a slave role for incoming
connection to DUT, they will not respond to the AVDT signalling
commands properly and go to bad state.In this case role switch
would resolve this issue.

CRs-Fixed: 1035137
Change-Id: Ic1741d96f3409b29ee6ca2280c8ba97e214e9682

64fe169 2016-08-24 23:09:55 Venkata Jagadeesh

Bluetooth: Handle auth req in bta_dm_pinname_cback

As auth_req not handled properly in bta_dm_pinname_cback during
rnr,auth_req reset and DUT going for temperory pairing.

Change-Id: I5efa73c3f8079b5198ff672bd1d59a6ec52ec4f3
CRs-fixed: 1031548

1987a39 2016-08-24 23:09:55 Manu Viswanadhan

BT: Get chipset type dynamically during stack initialization

Get chipset type dynamically on the basis of qcom.bluetooth.soc
property during stack initialization. This helps in avoiding
compile time board configuration feature flags.

CRs-Fixed: 1035866

Change-Id: I65602b913c052633ec5627598a97ae85a29756f7

33c0e78 2016-08-24 23:09:55 Rupesh Tatiya

Synchronize vendor callback and cleanup

There is a cleanup API which can free memory for btm_multi_adv_cb while
vendor callback API might be using this memory for processing. Protect
btm_multi_adv_cb resources across these two functions.

CRs-Fixed: 1028704
Change-Id: If2a6a7bd43bbaa629d2b3b3a9e825edcebb6f6fd

b5a0f6a 2016-08-24 23:09:54 Matadeen Mishra

Bluedroid: Fixed Static Analysis Issues

- This fix avoids NULL pointer dereferences
and Array Index Out of Bounds Exceptions
in the bluedroid code space of Bluetooth.

Change-Id: I6ad9f4518896975ff186b41086a8987c7de1eb91
CRs-Fixed: 890309

0ccb4a8 2016-08-24 23:09:54 Srinu Jella

Bluetooth: GAP: Serialize the commands during Pairing process

Serialize the Remote version, Remote features, Authentication
requested commands.

This will make sure the above commands doesn't go simultaneously
to the remote device which can't handle the multiple comands
at a time.

Change-Id: I4448c291a60ee637dc5927806547e67f26571d86
CRs-Fixed: 896888

599bffb 2016-08-24 23:09:54 Venkata Jagadeesh

Bluetooth: SDP: Syncronize sdp callback functions

Syncronize sdp callback functions in sdp server to
avoid race conditions in create/remove sdp records

CRs-Fixed: 1003295
Change-Id: Idb7a3e0a011c8ecd0d127d110e67e6a9a13a8ee9

1110faa 2016-08-24 23:09:53 Hemant Gupta

HID: Re-enable sniff with specific parameters to prevent LAGS

Usecase:
1. DUT Connected to BT Headset and MAgic Mouse
2. Make an outgoing call from DUT
3. Perform inquiry on DUT and check mouse movements.
4. Disconnect call from DUT/remote end.
5. Check Mouse Movements

Expected Result:
No lags should be seen with Mouse after call is disconnected.

Observed Results:
Lags are observed with Mouse after Call is disconnected.

Root Cause:
Remote BT Hid Mouse is not able to work with larger sniff parameters
so does not send Input reports leading to lags on DUT.

Fix:
Update sniff parameters to lower values (<15 ms interval) after call is
disconnected so that remote device works fine. Also as part
of SoC workaround, sniff should be disabled with blacklisted devices
only when DUT is slave on SCO link.

CRs-Fixed: 1039149
Change-Id: Ifa01abcae59b6f87842a763330b3a9f23511a675

0cddc0c 2016-08-24 23:09:53 Satheesh Kumar Pallemoni

HF CLIENT: Change to disable sniff with specific Phones.

When device is configured as hf client and connected to
AG, if AG goes into sniff, there may be disconnection
of hf connection with AG.We get information of AG's
manufacturer and model information using AT+CGMI
and AT+CGMM commands. We should disable sniff if AG's
model is known to have issues with sniff.

CRs-Fixed: 1021809
Change-Id: Iedfb8cbec7f716aadc83d511127834043eccfd57

2381887 2016-08-24 23:09:53 Satheesh Kumar Pallemoni

Fixes for Issues reported by Static Analysis tool.

CRs-Fixed: 1036860
Change-Id: I0f4a69cbb4e47ecd333b14c2ff9fe0861166f858

def96da 2016-08-24 23:09:52 Ajay Kumar

Bluetooth: Kill the BT process immediately on detecting SSR

Kill the BT process immediately on detecting SSR

CRs-Fixed: 801039
Change-Id: Id5007914140aa26c08579ca85f7622c79d73a00f

c3e724b 2016-08-24 23:09:52 Umesh Vats

aptX audio codec support

Support for a proprietary codec(aptX) based bluetooth audio
streaming added.

CRs-Fixed: 962515
Change-Id: I821875227e168f9b74571c0ca814e577873b2f88

09dbd56 2016-08-24 23:09:51 Matadeen Mishra

BT: Fixed Static Analysis Issues

- This fix avoids NULL pointer dereferences,
Array Index Out of Bounds Exceptions
and Banned funciton in the Fluedroid code
space of Bluetooth.

Change-Id: If389820b427f39e1030013f14d5538d7c99ce9c6
CRs-Fixed: 1025718

32151b4 2016-08-24 23:09:51 Manu Viswanadhan

Bluetooth: Introduced new interface for handling VS implementations

Introduced new interface for handling vendor specific implementations

Created an API in the vendor interface that initiates SSR cleanup
that will be called in the case of enable and disable timeout.
SSR cleanup is called when the Bluetooth shuts down abruptly.
It sends vendor power OFF to the controller so that the next
startup occurs properly.

Created an API in the vendor interface that will be called while
transitioning from TURNING_OFF to BLE_ON, which cleanup the BREDR
profiles (from the btif layer). A callback is initiated from btif
layer which is redirected by the interface to the original implementation
of stopping the BREDR profiles. Also, since the cleanup for BREDR
profiles in the btif layer already happened during transition to
BLE_ON , the cleanup during BLE_TURNING_OFF to OFF is limited to
BLE profiles.

CRs-Fixed: 1027432

Change-Id: I4c0e8468aa71e1eeee7e81b39e71ad9f711c7a3e

66b2807 2016-08-24 23:09:51 Sumit Bajpai

Misc AV changes in stack

1) Update UI on remote's browsing support.
2) Avoid sending get capability request if Avrcp TG.
3) Use Interop database for Abs vol.
4) Add 30msec uinput delay upon creation.
5) Role switch failure handling.
6) Misc A2dp/Avrcp handling.

CRs-Fixed: 1029888
Change-Id: I2e86285da9e9a0b7c5180fbefeb7665f62ac77cd

b367b5a 2016-08-24 23:09:50 AnubhavGupta

AVRCP: Fix array index out of bound KW error.

- fix array index out of bound KW error.

Change-Id: Id6531852141bcf53dc2132aa106a84179ec008e2

aa88c63 2016-08-24 23:09:50 Satheesh Kumar Pallemoni

Fix issues reported by Static analysis tool

CRs-Fixed: 1025718
Change-Id: Ie1f32028226f4f8e89e545bb75ef1a2a65a3b846

642f8f4 2016-08-24 23:09:50 Venkateshwarlu Domakonda

Enable Sink with multicast

Enable support for sink with multicast.

Change-Id: Ie9cb33ba102e585387a908fe821f93520ad8a860

e05365a 2016-08-24 23:09:49 Hemant Gupta

AVRCP(T): Add support for AVRCP 1.6

This patch adds supports for following AVRCP 1.6 target features:
- Get Total Number of Items
- Cover Art Feature

CRs-Fixed: 715683

AVRCP1.6: Reset Cover Art supported feature bit

Reset Cover Art supported feature bit in SDP record if
fallback to lower version.
Change-Id: I47bdc5dcbc777ba3afb90be1d52b0f6a152dde7b
CRs-Fixed: 956637

Update conf file only if Avrcp 1.5 or 1.6 is enabled

Update conf file only if Avrcp 1.5 or 1.6 is enabled.
CRs-Fixed: 963208

Change-Id: Ib8e81cc57a8060202dbfb2b90b5009f8d504529e

BT-AVRCP: Queue txn labels for same PDU.

If AVRCP CT sends same PDU request multiple times in
quick succession, TG ovewrites the txn label against
that PDU. This causes TG to respond with incorrect
txn labels

Change-Id: I0c9b10f0eb0e7cb695c224d8fe26f5c447ba7d93
CRs-Fixed: 995483

Change-Id: I58ec30ae039f78c59422b5612ebb9ef65a03e2dd

c89d303 2016-08-24 23:09:49 Srinu Jella

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

Check ccb state before executing channel state machine events

Use Case: When disconnect response is being executed, timeout
occurs and timeout event gets enqueued in BTU process. When
processing of disc event completes, timout event is received
at csm and is executed. However, by this time the Channel
Control Block is already released during previous event causing
errors.

Steps:
Various connection/disconnection scenario.

Failure: If ccb is already released while processing of
previous event, the occurance of new enqueued event causes
crash.

Root cause: Disconnection response event has already released
ccb and set lcb for this channel to null. The occurance of
timer event after this results in crash because lcb is
dereferenced while header creation to send disc response to
peer device.

Fix: Added check for ccb state for whether it is currently in
use or released before executing events in csm.

Change-Id: I9110e6dd5273fa162b51c8aa15bd0030567d664b

Handle L2CAP disconnection on incomplete connection

- Sometimes before even receiving the connection complete
event from remote device, upper layer might send a
disconnection on incomplete L2CAP connection, and expects
notification of connection failure.

- This chnage notifies disconnection confirmation to upper
layers with error incase L2CAP disconnection is received on
incomplete L2CAP channel.

Change-Id: I4ab675329b3d791a3f68101495a6e6d90b13bde4

L2cap: Handle invalid HCI packets from Test tool

- Handled Buffer over flow for UINT16
- Handled full packet size more than gki buffer case.
- 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.

Change-Id: I6f93c80244fc39d607ad285185136bbbca83d7ae

Increasing LE Properties to broadcast.

Use case: Remote BD_NAME is not broadcasted when BLE device
pairing is done by using NFC where we broadcasted only UUID.

steps:
Connect with BLE device by using NFC and check the remote name.

Failure: Remote device name is not available.

Root cause: BD_NAME is not broadcasted when BLE device pairing
is done.

Fix: Added property to broadcast remote BD_NAME also as part
BLE device pairing using NFC.

Change-Id: Ie6cda489aabff15a0ebbc692a16f9428729a7dba

Reset the pairing_cb for BREDR/cross key pairing address

Use case: HID connection stuck during multi pairing.

Steps to reproduce:
precondition:
1 DUT
1 Headset HFP supported -- Pair and Unpair
1 HID mouse -- Pair and Unpair

Steps:
1. Pair and connect HFP remote device HM1700
2. Pair and connect HID remote device Sculpt Touch Mouse
3. Unpair both the remote devices and check them in the available
devices list in settings app.
4. Initiate HFP connection from remote device HM1700 by
resetting the headset.
5. Along with above step, initiate HID connection to the mouse from DUT.
Along with step 5,Power down the HID mouse to avoid another connection.

Failure: At step 5, Observe that HID mouse shows ever connecting state in
the DUT UI.

Root cause: pairing_cb state is reseted for non pairing device and leading
to stuck in pairing to other device.

Fix: Reset the pairing_cb structure for BREDR or cross key pairing address
only. Without this check pairing_cb state can be reset by other non
pairing bd addresses which can lead to stuck in pairing.

Change-Id: I077bebffac9df7a0c7559af58656651467158c14

L2CAP: Allocate sufficient memory for FCS while cloning buffer

Use Case: OPP file transfer using OBEX over L2CAP.

Failure: Crash seen while sending the file using Obex over
L2CAP due to corruption in end canary.

Root Cause: Did not allocate sufficient memory for FCS
while cloning the PDU packet, eventually FCS bytes written
will corrupt the end canary.

Fix: Allocating sufficient memory for the PDU packet which
includes FCS also.

Change-Id: Ie47b9bc07732b02f774d1dce474d488fe063f50b

Don't process pair request when controller is not ready

Use case: when one application is trying to pair and
other application is turning off bluetooth.

Steps: when one application is trying to pair and
other application is turning off bluetooth.

Failure: Bluetooth process crashed.

Root Cause: Bluetooth process crashed due to assertion,
as controller module is not ready.

Fix: Made a checks for controller module is ready or not, If
it is ready then only go for pairing.

Change-Id: I72c72f6b5545c845e79874212359854023ffad98

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

Handled pairing state change in collision scenario

Use case: DUT Stuck in pairing state forever with selfy stick
during repair.

Steps:
1. Pair and connect remote devices with DUT.
2. Now un pair selfy stick from DUT.
3. Keep remote in discoverable mode.
4. Start inquiry and try to pair with device.

Failure: Pairing with selfy stick always fails after collision.

Root Cause: As we return from btm_sec_dd_create_conn with out
moving pairing state in connection collision scenario. Pairing
state will remains idle and pairing won't proceed further.

Fix: Move the pairing state in collision scenario so that pairing
can proceed further.

Change-Id: Ic5c446ad3902b0ce16c7223ec2d8e4a625831446

Conflicts:
stack/l2cap/l2c_fcr.c
Change-Id: Ia83fbcf2477152005dd60cf8344ce1db708b1379

Conflicts:
hci/src/packet_fragmenter.c
Change-Id: I1ebcd267713ee4799cba4f9ab45a2db7300c60da

723e89f 2016-08-24 23:09:48 Ayan Ghosh

Bluetooth: Enable A2dp Multicast.

This feature enables the multi
streaming support on BT HOST.

Change-Id: Ic3748c32b30036abd352c9322e30a704b2103fa7

Bluetooth: A2dp MultiCast/ Soft Hands-off.

- Trigger suspend, when new ACL is up during active
multicast
- Initiate suspend on both links when it is initiated by
either connected HS
- Clear remote suspend flag when play is initiated by either
connected HS
- Allocate first free SCB when remote has initiated AVRCP connection
and we are trying to connect to other HS
- Update Encoder when HS2 is connected during
active streaming on HS1
Change-Id: I7ccfb81637688c23c6a2b005f849ac76cc0dbd2a

Bluetooth: Initialize RC handle with proper value.

- Initialize rc_handle with 0xFF
- On disconnect re-set rc_handle to invalid value.

Change-Id: Id507114451701e998f9960aa5dc961ff16f2d1bf

Bluetooth: Do not register for Volume change.

- When absolute volume is not supported by any
of connected HS do not register for volume change
notification on connected HS.

Change-Id: I3b29ac5929989bc7c45b1b0f8cbe75b3082e66d3

Bluetooth: Use SCB handle for Sniff.

- Use scb handle for making entry for sniff instead
of audio count.With Multi A2dp audio count denotes
number of A2dp devices connected.Due to this stale
entries were created for AV power entries, due to
which links did not go to sniff after max entries
in table is reached.

Change-Id: I051017991c7d3d7d42c4822efdad2b2aa1b0e2b2

Bluetooth: Use free SCB for Incoming connections.

- In connection race conditions, check for
first free SCB to allocate for incoming
connection.
- Initiate disconnect for incoming connection when
no free SCB is available.
- Check for max. possible connections before initiating
suspend for new link up-event.
- Clear all flag on AVRCP disconnect.
Change-Id: Ic605b0470ca88aac856cefe54bf6c9ec5320bd5a

A2DP Multicast: Allow outgoing connections for scatternet

- As there is fallback to soft handoff incase of
scatternet scenarios, allow the outgoing
connections in case of role switch failure for
existing slave connection.
- Reject the incoming connection from BTA while
processing another incoming connection.

Change-Id: Ib8a087eea5e9845a6e2ef758757f941c1bdf7b52

A2DP Multicast: Disable multicast if BR HS is connected

- Disable multicast if BR headset is connected
- Use scb index for AV Busy and Idle state updates

Change-Id: If7310be4f47cbe0775eb35c0b81122d524be25f5

Dual A2DP: Avoid blocking Play key event

- Send play key event for PLAY sent from non playing device
to be compliant with default behavior for single connection.

Change-Id: Ie07fc10d3a946ca4e3f9643b2ae5e556358fd0b8

A2DP Multicast: Update multicast state after AV state update

- multicast state update checks the AV state for updating
multicast condition. Need to make sure that AV state
is updated in OPEN state before calling the API.

Change-Id: Ifa0fd1a90ff5d8a05c37dba1590f76176d9899e0

Dual A2DP: Disconnect AVRCP only connection.

- AVRCP only connection should be disconnected to avoid
confusion to end user in the Dual A2DP/Multicast scenarios.
- Proper check for RC connections before closing uinput.

Change-Id: Id515c3f29499a3ada02b8e45cc2189276152a461

Conflicts:
btif/src/btif_av.c

Dual A2DP: Allocate free SCB for incoming connection

- SCB allocated to incoming connection should be idle.
If not, ongoing connection handling will be affected.

Change-Id: Ideaab85b928f08b37c7a284644fd3a62926b15ec

Dual A2DP: Initiate outgoing connection only if the state is Idle

- A2DP connection also could be triggered from remote device
before the AVRCP timer expires. Check the state before initiating
connection for the device.

Change-Id: Id538de6ce829a388a4c052769177319cd5c217fc

Dual A2DP: Don't suspend if stream is started for other device

- Avoid sending suspend for remote initiated START if
stream is started for other device. IOT issues are seen with
specific devices if gap between SUSPEND and START is less.

Change-Id: I64d768aa8246101687bbc98b4ae0be97645bb5b1

A2DP Multicast: Update multicast state during role change

- Role change can be triggered at any point of time
during the connection. Update the multicast state
upon getting role change event.

Change-Id: I60a17e955b6fdc4379d571c59d8527ec023e9531

Revert "Bluetooth: Do not register for Volume change."

This reverts commit c87e747f40b870b9a540902595524b34a5436b43.

Change-Id: I4752486979366f67e9109bd61df54dc48786f564

Dual A2DP: Set the flush only when there is no play in progress

- When connected to two devices update the flush state only
if there is no play on any connected device.

Change-Id: Ic13b7285625c49350334c35eed878407b6e78821

Dual A2DP: Handle connection inconstencies during stress scenarios

- Avoid removal of connect nodes in profile connect queue
- Dual Handoff flag cleanup during START failure
- Reject the A2DP connection from remote device if it is
initiated on the same endpoint where outgoing connection
is being attempted.

CRs-Fixed: 835641
Change-Id: I4cc0d680e5cabb003dd11c8ba232d1fc70f41780

Dual A2DP: Mark the AVDTP busy during outgoing connection

- AVDTP incoming connection cannot be handled when there is
outgoing connection in progress as per the base design.
Reject the incoming AVDT connection so that other
connection can happen and A2DP connection is always
attempted from connectOtherProfile path.

CRs-Fixed: 839392

Change-Id: Iff801a7e4f170aa85cd06278c7d62dfc81464b5a

Dual A2DP: Acknowledge the SUSPEND after both streams stop

- Avoid on_suspended call when other stream is not yet
suspended as it unblocks the audio process to send
further commands.
- Handle RC close to cleanup the BTIF RC block even if
the current AV connections are for different devices.
This was seen because of not getting AVCT disconnection
response and later this event is received after getting
ACL disconnection complete.

CRs-Fixed: 842690
Change-Id: I7eb95a9ddfc7be06af4521af1567e4e166630317

Dual A2DP: Disconnect the AVRCP only connection

AVRCP only connection has to be disconnected when it is evaluated
for A2DP connection and no free AV blocks are available in BTIF.

Change-Id: I3f6b731ed6701c739defbfd8e011bbb6a1aeb3ba

Conflicts:
btif/src/btif_rc.c

A2DP Multicast: Check for both streams for stream ready

- Stream ready should succeed only after both streams
are suspended during multicast, otherwise audio data
coming will trigger inconsistent behavior for stream
starting.

Change-Id: Ia8794dbed7dbe5f55cf7139b200fcdf2eb5ee45f

A2DP Multicast: Handle suspend for both streams

In race conditions, it is seen that ACL is established while
stream is being started for both devices for multicast.
Since the multicast state is updated after stream start when
suspend is initiated we need to check if both streams are
started and suspend them accordingly.

Change-Id: I23f64174914350b476022f7bfbfb553a55d12902

Dual A2DP: Clear the RC priority information while disconnect

RC priority information has to be cleared during disconnection
to avoid improper usage during start even after initiating
disconnection.

Change-Id: Ia52c04ea2bfecbf390aae12400073adb0f327718

Dual A2DP: Interface to query active device for handoff

During Handoff case, check the playing device and device to
start playback to provide state for given device.

CRs-Fixed: 856063
Change-Id: I3a326d9f0c6221cfc4cdcc3fad037f22a29ff90e

Dual A2DP: Connection failure handling for proper cleanup

- Cleanup BTA AV block for the outgoing connection if
it fails because of no resources
- Reject the incoming connection if there is outgoing
connection in progress

Change-Id: I44d3dd6bbff93d38c1c22260056897e42d915ffa

Conflicts:
stack/avdt/avdt_msg.c
Change-Id: Ie74102d0254fa73061b6baea9811d834fae64358

8cb0c69 2016-08-24 23:09:48 Nitin Arora

Bluetooth: Add Dialog mouse & KB to blacklist for LE secure connections

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

CRs-Fixed: 1033619
Change-Id: I888b5ce8c12652ef5c393b304bed8948c4e6b444

b4198f8 2016-08-24 23:09:48 Ayan Ghosh

AVRCP 1.5 Implementation

AVRCP 1.5 Implementation

Change-Id: Ia35dc4344b05584cf5ab3b463815c9e6297d24ab

Proper check to ensure attributes are populated properly

Incorporated proper check to ensure if memory is allocated properly
then all requested attributes are populated in response from DUT

CRs-Fixed: 753309
Change-Id: Iead549635cd2059bc8cf33585a5d87ae023149d4

Reset Browsing Bit if carkit is blacklisted

- Reset Browsing bit if carkit is blacklisted for avrcp 1.5.
- Not to send 1.3+ specific supported events if carkit is blacklisted.

CRs-Fixed: 762470
Change-Id: I32ac80c0549b2b89dd2522dbb0dea89d255d33dc

Free Browse packet

Free Borwse packet in AVRC layer once the same is
copied to BTA for further processing.

CRs-Fixed: 785286
Change-Id: I8037a649cff5a1e527c28ba36999a1bed34d315a

BTIF-AV: Use valid memory for AVRCP message

After the context switch to BTIF for META message processing
the buffer allocated for tAVRC_MSG will be freed, hence allocate
the required memory and free that after handling the META
message

Crs-Fixed: 651506

Bluetooth: Change cleanup sequence.

- Clear btif_rc_cb before setting callback to null.
- do not initiate callback if rc address is null.

Change-Id: Ief15f21e40a36cf894b7c2e14e3236fc3ecf7701

Dynamic AVRC version change based on Remote's capability

- Update DUT's adevertised AVRCP version as 1.4 or more if remote
is capable of Avrcp File browsing with feature supported as 1.4 or more.
- For other remote DUT always displays Avrcp version as 1.3.
- For browsing capable remote, browsing feature works when remote does
SDP after repair.

Change-Id: I00679397559cfb3b9efffeb92fc6b2755b851fea

Remove redundant entries from Browse structure

Remove redundant entries from Browse structure

Change-Id: Iff961f91693a2c7a32e9a22273c5e3c2b7ba4b96

Avrcp: Do not initialize transactions if cleanup done already.

In case of BT turn off, if avrcp cleanup happens earlier than
rc disconnection, then initialize_transaction gets blocked on
locking mutex which got destroyed during cleanup. Do not initialise
transaction and close uinput if done already during cleanup

Change-Id: Ib3fd61275bc918872a80a70b3d7ba66309b23ab6

BT-AVRCP: Cache set_addressed_player request while in active call.

When set addressed player is requested by avrcp controller while
in ongoing call, we fail to cache the request. Because of this
we do not send reject response to set addressed player request.
The change properly caches request and send reject response

Change-Id: I4cb02c8cb78c26fcbe22dda57cf9009e4b20be96
CRs-Fixed: 988856

Avoid updating conf file if Avrcp 1.5 is not enabled.

Avoid updating conf file if Avrcp 1.5 is not enabled.

Change-Id: I9088d0804f69a8a0a2369e97f07ce74bf750f966

Change-Id: Icbf61776a6fb63fac1555bf25d3700beccf2b67a

f16fa26 2016-08-24 23:09:47 AnubhavGupta

A2DP Sink: Changes to support A2DP Sink in N MCL

- changes to enable A2DP Sink in N MCL.

Change-Id: I281f435ce5c55a2e2440f124e034cf478e7624e7

d87cd07 2016-08-24 23:09:47 Satheesh Kumar Pallemoni

Bluetooth: IOP: Allow more time for AG connection to go through

Fix inter-operability issue by increasing connection timeout for
AG profile

Change-Id: I565d72fa23012c683f83a025b41c20e236864dc7

2d3c81b 2016-08-24 23:09:46 Hemant Gupta

HID: Fix following IOT issues

- Add HID keyboard to sniff blacklist, to disable sniff when SCO
is active and re-enable sniff when SCO is disconnected.
- Add Game Controller to sdp blacklist.

CRs-Fixed: 1025271
Change-Id: Idab33ca9326c7e0724113cb8db29691b2a65ea12

0c2f861 2016-08-24 23:09:46 Hemant Gupta

HID: Disable sniff for some particluar remote devices

This patch disables sniff on hid link for certain remote devices in
presence of SCO/esCO to prevent IOT issues of ACL disconnection on
HID link.

CRs-Fixed: 892083
Change-Id: Ia9fe1d8f5578b55c0e708e8791c5c37c3dbc48ff

4d1495b 2016-08-24 23:09:46 Hemant Gupta

HID: Fix IOT issue with Motorolla KZ499 Keyboard

Fix IOT issue with Motorolla KZ500 Keyboard, which claims
support for multiouch functionality in SDP repord descriptor, but this
functionality doesn't work because of issues in usb hid kernel driver.
To handle this keyboard, digitizer record in report descriptor is removed
and the remaining descriptor is passed to kernel usb hid driver during
connection, which interprets the keyboard as generic keyboard instead of
multitouch keyboard and normal functioning of keyboard works fine thereafter.

Change-Id: I888b4a8997296ebbf3d9d23dd1c52ade230f984e
CRs-Fixed: 776647

69cb7c4 2016-08-24 23:09:45 Hemant Gupta

HID: Enhance blacklist logic for restricting SDP

Enhance existing blacklist logic for restricting SDP
for HID devices, by adding BD address and name support in addition
to manufacturer id. Also blacklist logic is added for HID devices not
supporting authentication.
- Targus mouse does not support authentication, so blacklist logic
added to disable authentication for such HID devices.
- Many HID mice return an out of resource error for incoming connections
when more than 1 SDP connection is made to them. Current implementaion
in BD stack performs SDP from 2 layers HID BTA layer to determine HID
desritors for HID device and btif layer for determining uuid's supported.
Blacklist logic is enhanced for such devices to not perform SDP from btif
layer after authentication and directly inform upper layers that SDP is
complete by adding support for BD address and name based addition to
blacklist.

Change-Id: I4fe1e016549bb55ad176cd014bf1d5da85b38353
CRs-Fixed: 465421, 568114