OSDN Git Service
Hemant Gupta [Tue, 19 Jan 2016 15:48:15 +0000 (21:18 +0530)]
HID: Return error when hid host is disabled
This patch returns error when hid host service is disabled.
Without this patch thre could be potential UI synchronization
errors when hid host service is disabled.
Change-Id: Ida9e4c91015c8b0e4d36db5f58c0a65b7630a259
CRs-Fixed: 964404
Hemant Gupta [Fri, 22 Apr 2016 07:23:02 +0000 (12:53 +0530)]
HID: Fix issues in stack reported by static analysis tool
This patch fixes issues for hid profile in BD stack reported
by static analysis tool.
Change-Id: I8d765e8e7662781266b73344dee3dd1766930799
CRs-Fixed: 740857
Hemant Gupta [Tue, 4 Nov 2014 14:49:01 +0000 (20:19 +0530)]
HID: Fix corner case state machine handling for HID Host
This patch fixes the following issues for HID Host state machine handling
- Retry timer was never stopped in stack in case l2cap channel was refused
by remote device, and l2cap connection was made before timer could expire.
This was leading to some variable corruption in collision cases.
- UHID driver is also closed in case open failed to fix some corner case
issues of uhid driver not closed in some cases.
- Handling of virtual cable unplug in waiting for connection state. Without
this some IOT issues were seen with some hid mouse which used to send
VC unplug while connection setup was still ongoing for hid host because of
SDP.
- Fix corner case race condition when remote device closes the l2cap while
DUT is about to send Virtual cable unplug control command. Without this change,
it was seen that in above scenario state machine of hid host moved to idle on
reception of close event from remote device, and was unable to handle device
unpairing on successful completion of virtual unpulg event which never came
in above scenarios.
- Some extra debug logs are added in code flow.
Change-Id: I851b73068a801f637eac94533a60150946d257f6
CRs-Fixed: 750415
Hemant Gupta [Fri, 21 Feb 2014 13:20:41 +0000 (18:50 +0530)]
HID: Set sniff subrate with optimize latency value on HID Link.
Current HID design disables sniff on HID Link in presence of SCO/eSCO, which
was leading to many IOT issues, as HID links work in sniff mode, and disabling
sniff on hid leads to issues of connection timeout if anchor points are missed
during sco/esco concurrent usecases. This design is changed as below:
- If HID is connected & SCO is active, then disabling Sniff subrate
to fix connection timeout on HID link.
- If HID is connected & SCO is not active. Setting sniff subrate with
optimize value based on the remote parameter to fix connection
timeout on HID link to avoid HID IOT issues.
- Adds behaviour of host disabling SSR for JW MT002 and prevents
Host from sending Sniff subrating command to SoC for BORND mouse
so as to avoid IOT issues of disconnection and slow mouse movements
respectively with these device.
- Updates SSR parameters for HID Link to have a minimum
Max latency value for SSR, to have better trade off between power
consumption as well as performance of HID.
Change-Id: I6d60df88ea33e00b0fb173447351da4874dc97e5
CRs-Fixed: 635632
Hemant Gupta [Tue, 30 Jul 2013 10:41:33 +0000 (16:11 +0530)]
HID: Add support for Set Idle and Get Idle commands (2/4)
This patch adds support for sending set idle and get idle commands to
remote HID device, on receiving the function call from upper layers.
Also on reception of get idle time from remote device, upper layers
are infrmed using registered callback.
Without this support TC_HOS_HID_BV_05/06 PTS test cases for HID 1.0
cannot be passed.
Change-Id: I14bc2dc349354fd87ef8aba25357514398532e87
CRs-Fixed: 522511
Srinu Jella [Fri, 29 May 2015 11:33:08 +0000 (17:03 +0530)]
Initial commit for rfcomm test tool
- Initial commit for rfcomm test tool.
Change-Id: I2c00ea88030d6494acb368da08f81be87ef411d7
Rfcomm test tool for rfcomm protocol certification
- Interface provided from BT-If layer to interact
with rfcomm.
- This tool covers all rfcomm PTS test cases.
Change-Id: I129fbabdbdd80c87f0867c90e472e65bd1611af2
Initial commit for mcap test tool
- Initial commit for mcap test tool
Change-Id: I8657c941603728f6681000a904d96368c6f1f2cc
Initial commit for l2cap test tool
- Initial commit for l2cap test tool
Change-Id: Ia989c59f16d3cb2f314083e4436249f38dc93e7e
Mcap test tool for mcap protocol certification
- Interface provided from BT-If layer to interact
with mcap
- This tool covers all mcap PTS test cases.
Change-Id: I07f1eb8dc3d98c95b82ee67554c1a846e71c4bfc
L2CAP test tool for L2cap layer certification
- Interface provided from BT-If layer to interact
with l2cap
- This tool covers all l2cap 4.0 PTS test cases
whcih includes basic, ertm and streaming mode
test cases.
Change-Id: Ifacd0b99974c28788926e0f901c37ee2c12ff97b
Bluetooth : Cert tool compilation
Change-Id: I7eaf1ce9ccd2872ba614152ee34f53e6a6fc897b
Qual tools: L2CAP Add support for window size
MCAP Delay MDP Handling
Change-Id: Ic7a99e89a956a95a882caa829925cda08d642232
Gaurav Asati [Mon, 9 Jun 2014 12:34:10 +0000 (18:04 +0530)]
Bluetooth: Check for NULL String.
When JNI checks are enabled it checks for
NULL, so check for empty string for ATD.
CRs-Fixed: 676866
Change-Id: I8b0cdafeb34737b95041ed6a6ec117fa32effa36
Satish Kodishala [Thu, 7 Apr 2016 10:26:34 +0000 (15:56 +0530)]
Don't unset the HF indicators and S4 Settings for PTS
PTS Test Case HFP_AG_SLC_BV_10_I failed due to PTS HFP version is 1.5.
If there is HFP Version less than 1.7 we are unsetting the HF indicators
and S4 settings in BRSF.So,regardless of PTS HFP version we should not
unset the HF indicators and S4 settings in BRSF.
Also for HSP Profile some PTS Test cases failed because when there is
HSP connection we are checking for callsetup indicator which were not
present for HSP profile. So,we should check for HFP connection as well
with the call setup Indicator.
CRs-Fixed:
1000512
Change-Id: I61239a187c2f85b759eb3029c47e6c2fe341c16e
Satish Kodishala [Thu, 5 Nov 2015 06:46:12 +0000 (12:16 +0530)]
Dynamic HF version change based on remote hf version
For remote devices supporting HF specification 1.6 or lower,
advertize phone's HF version as 1.6. For remote devices supporting
HF version 1.7, add them to data base and advertize phone's HF
version as 1.7. User need to re-pair HFP version 1.7 devices
CRs-fixed: 934912
Change-Id: Icd6eeea738b19a9ca74214cb33b0bcaebc5f4b9e
Srinu Jella [Thu, 8 Oct 2015 11:44:16 +0000 (17:14 +0530)]
Bluetooth: Implement dynamic blacklist method for role switch
- Blacklist the device if it's rejected the role switch for
max number of times.Same is added to the iot_devlist.conf
file.
- Maximum number of failed (BTM_MAX_SW_ROLE_FAILED_ATTEMPTS)
attempts set to 3 and it is configurable.
- Same blacklisted device is referred by the BTM module when
any other module like profile is requesting for role switch
and BTM module returns BTM_REPEATED_ATTEMPTS as the switch
role status.
- There is option to retry for role switch even though the
device is blacklisted and it can be controlled by feature
flag BTM_SAFE_REATTEMPT_ROLE_SWITCH. And by default it is
enabled
CRs-Fixed: 831542
Change-Id: I570e1539578e60901794941ca46f0722e368a954
Hemant Gupta [Wed, 8 Jul 2015 18:23:15 +0000 (23:53 +0530)]
FTP: Add FTP SDP record in Bluedroid stack.
Add FTP SDP record registeration in Bluedroid Stack.
Change-Id: I7b3c3d85c5c6a7ac20a0a9361a646d2d494f8fec
CRs-Fixed: 504049
Satish Kodishala [Tue, 6 Oct 2015 15:42:14 +0000 (21:12 +0530)]
HF Client: Handle errors for CGMI, CGMM in the stack
AT+CGMI=? and AT+CGMM=? commands are sent from stack to
the AG in post SLC sequence. We are upstreaming errors
returned from AG for these commands to
HeadsetClientStateMachine. This leads to state mismatch
in state machine.
CRs-fixed: 919514
Change-Id: I4acb32d3c1dd78ba3de3b60fb029268b307199f7
Hemant Gupta [Wed, 7 Oct 2015 06:38:10 +0000 (12:08 +0530)]
HID: Prevent incoming and outgoing SDP collision
SDP is performed 2 times as part of HID connection in BD stack,
one after successful authentication, and one in hid stack layer
as sdp data is not stored currently in stack. When there is outgoing and
incoming connections, SDP failed message was posted which was resulting
in SDP failure for hid host resulting in improper disconnection of
hid interrupt channel.
Change-Id: I5b4813dc916696e2c0f76be27a85c1a89c2d8be0
CRs-Fixed: 683139
Satish Kodishala [Fri, 1 May 2015 14:23:35 +0000 (19:53 +0530)]
Get AG manufacturer information
Added support for AT+CGMI and AT+CGMM commands.
The commands get manufacturer identification and model
information respectively. Commands are sent post SLC
procedure.
CRs-fixed: 844824
Change-Id: Ie556281eebc7b8511d28b2d56f3519cca312e3c6
Ajay Kumar [Wed, 9 Mar 2016 05:03:33 +0000 (10:33 +0530)]
Bluetooth: Avoid crash while releasing CCB
There are chances that LCB values are not
filled while releasing CCB, putting check
for this ensuring no crash while LCB is NULL.
Change-Id: Iac2fa78d3599431308a030861158efa095bbdbf5
CRs-Fixed: 984983
Satish Kodishala [Fri, 10 Jul 2015 09:36:07 +0000 (15:06 +0530)]
Ignore RFCOMM close event in case of collision
When Multi-hf is enabled, if outgoing and incoming to/from
HF collide, ignore RFCOMM close event if HF is already connected.
CRs-fixed: 869792
Change-Id: I1ed5b17de13ed66c2add4c2377949cdffe968c48
Handle unknown codecs sent by HF
Use case:
1. Connect to headset supporting CVSD, mSBC and other codecs.
2. Verify if headset sending AT+BAC with supported codecs.
3. Check if SCO is established with mSBC codec.
Failure:
SCO is established with CVSD codec.
Root cause:
When parsing AT+BAC command, if unknown codec is received,
we are falling back to CVSD although mSBC is supported in HF.
Fix:
AT+BAC parsing function modified to return correct codecs
supported by HF when it encounters unknown codecs in arguments
of AT+BAC.
CRs-fixed: 861222
Change-Id: Ibc6a72b749280dc70a355270f37f4316468c1a4f
Clear remote BD address if SDP search fails
Use case:
1. Enable multi hf.
2. Pair and connect to a headset.
3. Turn off headset and try connecting to headset from AG.
4. After the connection fails, turn on headset.
5. Make sure headset initiates HF connection to AG.
6. Make MO/MT call, switch from headset to AG, vice versa using headset.
Failure:
When call is transferred from AG to headset, headset initiated
SCO connection request is rejected by AG.
Root cause:
For outgoing connection in step 3, SDP search fails. BD address of
remote headset is stored in scb[0]. BD address of headset with which
we tried to connect is not cleared in scb[0].
When incoming HF connection request is accepted in step 5, BD address
of headset is stored in scb[1]. Now, BD address of the same headset is
stored in both scb[0], scb[1].
When SCO connection request is received from headset, we get scb
information using BD address. However, since BD address in scb[0]
is not cleared, we end up selecting scb[0] for which there is no
headset connected. This makes us think that remote is initiating
SCO connection without SLC and we reject the SCO connection.
Fix:
Clear the BD address of remote when SDP search fails.
CRs-fixed: 861209
Change-Id: Iff3e1f2a25988c3eb55d6914cae6ac8427a7e211
BT: HFP1.7: Do not upstream invalid BIND set event.
Incase remote HS sends incorrect BIND set command during
SLC, do not upstream the event to BT apps to avoid disconnection.
Change-Id: Ie2d52a97ab179174e219ebe0c17f9d1f66545367
CRs-Fixed: 809572
Do not reset SSR parameters on SCO link.
When Headset is connected during active call, HFP is connected
first. Due to active call SCO is also established, when SCO is
established we disable SSR. When a2dp is connected after SCO
connection it enables SSR. This enabling of SSR is causing ACL
disconnect.
When there is new profile connection on same device which has SCO
we should not enable SSR. It should be enabled only when there
is no SCO.
Change-Id: I25263a148a13136174a67867a822ba3497a11f8e
venkata Jagadeesh [Thu, 26 Jun 2014 06:25:41 +0000 (11:55 +0530)]
GAP: Accept incoming connection with slave role
-Define DUT Default desired role as master
-Accept incoming connection with DUT role as slave for
list of carkits and headsets which are blacklisted.
Change-Id: Ie6af63b50debd417ce2d54b28b83d95ef4f695a6
CRs-Fixed: 892194
Bluetooth: GAP: Disallow roleswitch for blacklisted devices
Set link policy to disallow role switch for blacklisted devices
as some devices not starting encryption after role switch
and a2dp connection getting delayed for some devices due to role switch
Change-Id: I75a20b5cda9c4b46d118b12de373c99a25f72012
CRs-Fixed: 892242
Bluetooth : GAP : Dont initiate role switch for blacklisted remotes
Don't initiate role switch for blacklisted remotes from DUT
as some remotes always rejects role switch and role swicth retrails from
DUT may lead to a2dp glitches
Change-Id: I41bd78f1d25f1fc2985f1cf226a54d6819be968b
Srinu Jella [Mon, 21 Sep 2015 13:59:50 +0000 (19:29 +0530)]
Bluetooth: Add support to send h/w error event
- Bluedroid stack needs to be reset whenever H/w
chip restarts like Subsytem restart.
- Emulates the hardware error event on detecting
SSR event from PR controller.
CRs-Fixed: 914079
Change-Id: I9248a4e6ad689fc590fd4fd0f7a067cd33bf314f
Bluetooth: Reset bluetooth status to download NVM tags
- Reset bluetooth status to download the NVM tags once
the SSR is detected.
- NVM tags downloaded only once for the first BT on and
downloaded again in case of SSR or command timeout.
- Without this change, there would be diffrence in
BD addr which would lead to pair/connection issues.
CRs-Fixed: 932195
Change-Id: I75a44e7ae7d301ff1c9be8349c1b51d4c80cbf36
BT: Adding check for packet size before allocating buffer
During controller reset, corrupted packet might reach
to host. This packet might indicate length value more
than maximum allowed packet length. This causes crash
during buffer allocation.
Added the correct length check before allocating the
memory.
CRs-Fixed: 978009
Change-Id: I462b9b18e4c9db67d4860509376b0cb38830e56d
BT: Rectify the method to reset host after controller crash
Use case: When controller is forcefully crashed for testing,
the host process should reset itself.
Steps: Testing envolving forceful crashing of controller
to observe recovery and behavior of host in such events.
Failure: Once controller crash was enforced, the host
process was not resetting itself.
Root cause: The packet created to send hw reset event to
stack was getting truncated.
Fix: Changed the logic to first create an empty packet and
later set its type and data to make hw reset event.
CRs-Fixed:
1000446
Change-Id: Ied4e62db0be5bb8e16fac05787b9a071fd86b1e7
Satish Kodishala [Tue, 18 Aug 2015 13:57:39 +0000 (19:27 +0530)]
Add few logs for phone state change updates
Added few logs to get the phone state updates from Telephony.
CRs-fixed: 751733
Change-Id: Ic5553e08f0584fef0705386ba96e0fa852676ba3
Srinu Jella [Wed, 7 Oct 2015 12:31:53 +0000 (18:01 +0530)]
Bluetooth: Add support to read BD address from bt_nv.bin
- Add support to read BD address from bt_nv.bin if no
other BD address is available from other mechanism.
- If the ro.boot.btmacaddr property is set, it will
prioritize this property over bt_nv.bin.
CRs-Fixed: 921979
Change-Id: I8a0d38be7adb93db95eb3618a8f6af4030adf373
Matadeen Mishra [Wed, 23 Sep 2015 16:56:46 +0000 (22:26 +0530)]
Handling Authentication Failure From the lower layer
Use case: DUT unable to do connect with all devices in
Multipairing case.
Steps:
1. pair with HS
2. disconnect HS.
3. reconnect HS from DUT.
Failure: Authentication failure occurred due to LMP
transaction collision DUT not deleting link key which
lead to unable to connect to device.
Root Cause: Not posting the Authentication failure
event to application layer, while removing the link-key.
Fix: Post the Authentication failure event to application
and removing the link-key.
Change-Id: I079d8ce89c1fea66f0624127514cec8405bfdd3d
Add null check to avoid exception after L2CAP psm assigned
Use case: BT will get crash in SNS testing.
steps: SNS testing BT ON/OFF.
Failure: Crash is observed.
Root Cause: If the number of supported services increased,
larger service record array is required. Smaller array is
resulting in out of record error causing L2CAP deregister.
Fix: Check added to avoid null pointer exception if null
is returned while fetching sock from id. Also cleanup of
SDP and security records done during BT turning Off.
Change-Id: I2e77127262119cabf2c372f894427dcdf3350e80
Prevent crash due to second attempt to clean up eager_reader
Null out the eager readers once they are cleaned up, so we
don't try to clean them up later if an error occurs opening
the HAL again later.
Change-Id: I07df1010a1a619cb67b306d64e274d450234a002
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
GAP: Save pin code length for incoming legacy SAP connection
Use case: Carkit cannot reconnect to DUT in Sim Access Profile mode
Steps:
1. Pair with a car-kit (Agree all SAP, MAP, PBAP requests)
2. Initiate disconnection on DUT
3. Initiate re-connection on the car-kit.
Failure: SAP profile reconnection failing as dut gives negetive
linkkey reply.
Root Cause: sec_flags not getting updated without pin len and stack
triggering negative link key reply even linkkey is proper for 16 digit
authentication of SAP.
Fix: Save pin length during BTM_PINCodeReply.
Change-Id: I8300dd3ff497058291143313b169190910e0a7c5
Ignore pairing not allowed error when pairing in progress
Use case: Pairing with both devices fails, when there is
clash of pairing from 2 devices
1. Create a link from Test tool to DUT. Remove bonding info in Test tool.
2. Create a link from DUT to magic mouse. Unpair the link from DUT.
3. Click on magic mouse, it creates a link, and we get a pairing
pop-up in DUT.
4. Try to pair from Test tool to DUT.
Failure: Pairing with mouse should success and other pairing
should fail. But both pairing fails
Root cause: Stack sending pairing not allowed error to upper layers
for the second device when already pairing is in progress with
some other device, which is impacting the existing pairing.
Fix: Issue fixed by Ignore pairing not allowed error for the
second device when already pairing is in progress with some
other device.
Change-Id: I20dbd70e7429505a580c9a20d40a8d92318f6c3e
Handled delayed info response from remote during SDP
Use case: DUT is not connecting to windows-7 tablet
Failure: Connection is not successful with windows-7 tablet.
Steps:
1. Turn on BT on DUT
2. Pair and connect from remote device.
Root Cause: DUT initiates connection with out waiting for
information response from remote device during SDP.
Fix: DUT will not wait for information response from the
remote during SDP.
Change-Id: Iee0251f8f81923b1291983b66b31c78e14d21af0
GAP: Update Paging and inquiry busy level seperately
Use case: Bluetooth Search Fail while ACL disconnection.
Steps:
1. Headset(HBS 760) connect
2. Put Headset off
3. BT Search Fail.
Failure: BT search fail after disconnected Headset.
Root cause: While updating the busy level of Paging or inquiry '10'
was used as BL for paging and inquiry,this leads to
1. Ignore the one of them when both of them are active.
2. During ACL disconnection, unexpected inquiry busy level update.
Fix: Sending unique busy level for paging related events and inquiry
related events, so that each event will be notified.
Change-Id: I7bddcb4901061c450555235717b7d49bab922ae8
GAP Write 248 char name length to the chip while BT ON/OFF
Use case: Remote device cannot see local name with 248 chars.
steps:
1. Turn on BT (Default name will come)
2. Change local name to 248 chars
make sure DUT can be successfully searched from remote device.
3. Turn off BT (or phone reboot)
4. Turn on BT
After step.4, the 248 chars name comes to GUI on MTP. However
device search from remote device having DUT "Default name".
Failure: Remote device cannot see local name with 248 chars.
Root cause: DUT not supporting for the 248 char local name
Fix: Writing the exact 248 character local name to the chip
Change-Id: I702af8fa8d0affda509de7a9f17af8922e410286
Failed to re-register APK Configuration for HDP
Use case: register/unregister HDP from third party APK
Test Steps:
1.Install Any Test APK which internally registers/unregister the HDP.
2.Run Test APK.
3.Do initialization of Test APK which internally registers the HDP.
4.Force stop the Test APK.
5.And rerun the APK by going back test APK menu.
6.Now it never perform the re-register the HDP as part of initialization.
Root Cause: HDP registration related counter write operations are done
in JNI main thread, and it's been referenced in BTIF thread.Sometimes,
if the context switch to BTIF thread doesn't happen immediately after
counter increment/decrement, it may not un-register the app if the
counter becomes 0.
Fix: Fixed it by making all operations related to counter in BTIF
thread, so that de-registration happens for all HDP APPs.
Change-Id: I71ace68a5f3d39d81b646f5f40c02ce56b9e93f0
Added check for hci_layer status before processing function calls
Use case: BT will get crash in SNS testing.
Steps: SNS testing BT ON/OFF.
Failure: Crash is observed.
Root Cause: When hci_layer functions for transmit command and cleanup
are called during hci_layer shutdown, they might try to access
lists that are already cleared as part of shutdown process.
Fix: Added check within functions to check for hci_layer state
before processing.
Change-Id: I8dbca9893e03dfc500886c5033a79976dc5d23e1
Group BR-EDR related SDP variables under transport
Use Case: Random RNR initiated after HOGP Keyboard disconnection.
steps:
1. keep madcatz in advertisement mode and scan, pair from DUT.
2. keep dailog Keyboard in advertisement mode and scan, pair from DUT.
3. Take Keyboard out of range to initiate disconnection from remote
or initiate disconnection from remote.
Failure: DUT trying to do RNR to random device.
Root Cause: when the disconnection happened for LE device, it sets
the wait_disc to true, that is causing random RNR to go for BR-EDR
device.
Fix: Group all BR-EDR related SDP variables under transport check
so that if some other operation on LE will not corrupt these BR-EDR
variables to mislead.
Change-Id: Ic9003f2b85bbaaa30b201b8a639a9d9b52055ac5
Anubhav Gupta [Tue, 5 May 2015 12:18:24 +0000 (17:48 +0530)]
Enable AVRCP TG feature only when A2dp source is enabled
- Drop Control, Meta and Browse commands when TG is not up.
- Not to call AVRCP app callbacks when mentioned service is down.
- Advertise AVRC CT category 2 support in CT SDP record.
Change-Id: Ib54c104e87c735b55d6c6ec07c08d2149acc1a6d
Anubhav Gupta [Wed, 21 May 2014 14:33:00 +0000 (20:03 +0530)]
Reject Metadata command with invalid length
This change ensures that DUT rejects AVRCP Meta command
having invalid data length to avoid crash while processing
the invalid command further.
This crash was seen while running codenomicon test suit.
Change-Id: I8a591d601636a0fce268b5b965f2bd691c24c319
Anubhav Gupta [Tue, 5 May 2015 14:54:47 +0000 (20:24 +0530)]
Enable incoming connection for AVRCP Controller
- Start listening for incoming AVRCP connection if we have
only AVRCP Controller
- Update default peer_features based on feature mask. In case
of incoming AVRCP connection, SDP will be done later.
In such a scenario default peer features sent to btif should
be based on features-set selected during initialization.
Change-Id: Ied8ac0673288a4423bd41500985366ddc2c567a8
Anubhav Gupta [Tue, 24 Sep 2013 06:01:16 +0000 (11:31 +0530)]
Initiate Sniff on A2DP/HFP links
With Plantronics headsets it has been seen that sometime
it takes upto 30s to initiate SNIFF. With these devices
ACL is in active mode for that duration. Though there is
no user observable impact but power consumption will
be more as link does not go to SNIFF.
Changes are done in Handsfree Power Manager table such that
once Handsfree PM state Machine goes to idle state, SNIFF
timer is started. In addition to that extra power mode entry
for AV is avoided by passing correct app_id to sys methods.
This avoids sending app_open from SDP for A2DP. Instead uses
conn_open while starting SDP and conn_close on SDP complete.
Change-Id: I25608db3e2b8cfe8f44b10894d5d3a7388b54ed5
c_sdamga [Mon, 20 Jul 2015 13:47:04 +0000 (19:17 +0530)]
Handle Disconnect request in Opening State.
When A2dp is unchecked from settings UI and remote has
initiated a2dp connection and initiated AVRCP play music
gets started on DUT. Since A2dp connection is disconnected
music continues to play on DUT.
As A2dp connection was not completed, btif state was still
in opening state.Hence handle disconnect in opening state
so that we disconnect A2dp before AVRCP cmd is processed
Change-Id: If1cda5b78100419fdc60c97349efafdd4a18d40c
Sumit Bajpai [Tue, 9 Jun 2015 12:55:20 +0000 (18:25 +0530)]
BT:[1/3]Send VSC to SOC for VOIP connectivity network type.
- Handle voip network type wifi command from BT app.
- Prepare VSC in BTIF.
- Handle command complete for VSC.
CRs-Fixed: 821566
Change-Id: Ia74e1f0f1e0fb37f952b736b1546ed2de5aee5af
Gaurav Asati [Tue, 18 Aug 2015 13:39:57 +0000 (19:09 +0530)]
Bluetooth: update both connected HS.
- When VR is launched/closed from connected HS, update other
HS for VR state change.
- When VR is launched/closed from UI, update both connected
HS for VR state change.
Change-Id: I652557abe6983e60b7d2ace305b5418f4fba3c70
Satish Kodishala [Fri, 31 Jul 2015 13:09:01 +0000 (18:39 +0530)]
Read HFP version property on BT4.0 or older BT devices
If reading local supported codecs command is not supported,
read HFP version property to set MSBC codec.
Change-Id: Ifc44d1b63e454c8c0212eca47d763c6bb16e2034
Sumit Bajpai [Fri, 9 Jan 2015 09:19:00 +0000 (14:49 +0530)]
BT-HFP: HFP1.7 AG support in bluedroid
Added HFP 1.7 support in BT stack.
CRs-fixed: 715684
Change-Id: I315c723cb956a566a8c248a34959a18d177d166e
Satish Kodishala [Wed, 22 Jul 2015 10:27:31 +0000 (15:57 +0530)]
Enable WBS
Enable compile time flag BTM_WBS_INCLUDED in the stack to enable
the WBS codec negotiation code in the stack.
All changes in stack are guarded using BLUETOOTH_QCOM_SW feature flag.
Initiate codec negotiation process only for those remote
devices which support it
start codec negotiation procedure after AT+BCC command is received from HF
requesting to start codec negotiation.
SCO state machine moves to proper state to reinitiate SCO connection.
Avoid sending codec negotiation for HF devices not supporting
WBS in such error cases.
CRs-fixed: 878963
Change-Id: Ia3641bfad60b4087cf99250a7ea190ec700547bf
Satish Kodishala [Fri, 5 Feb 2016 07:05:54 +0000 (12:35 +0530)]
AG: Clear the memory before using it
Initialize memory with 0s before copying the arguments
of AT commands received from headset. If buffer is not
initialized to 0s, when we encounter any unknown character
while parsing the arguments, we return error.
CRs-Fixed: 972767
Change-Id: Ia107ccd140b7bbc9e5963920d34fad22664c7519
Sumit Bajpai [Wed, 16 Sep 2015 13:08:43 +0000 (18:38 +0530)]
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
Ayan Ghosh [Thu, 29 Jan 2015 12:04:48 +0000 (17:34 +0530)]
Disconnect AVRCP if A2DP does not connect to same device
Disconnect existing AVRCP if A2DP connects to other peer device.
This fix is required as we do not have separate UI to disconnect
AVRCP profile. So unless AVRCP is disconnected this way this orphan
connection will exist for ever.
Change-Id: I1113de2d40e7596095fd7e7fbca600dfaf0b551e
Ayan Ghosh [Wed, 6 Aug 2014 10:34:42 +0000 (16:04 +0530)]
Synchronize encoder init and encoder update
Ensure encoder init and encoder update are executed
from same BTIF context which ensures sequential
execution of encoder init and update functions.
Change-Id: I0945737497f87e450a6c9959eb5f163e932db7d4
Ayan Ghosh [Thu, 3 Mar 2016 13:04:48 +0000 (18:34 +0530)]
Increase number of semaphores for media workqueue
As mediatask allows only 128 pending workqueue enqueue semaphores
to be created hence on Suspend confirm delay alarm callbacks run
out of that semaphore count and 129th instance of it gets blocked
and corresponding alarm_callback gets stuck.
Now later on receiving suspend ack, mediatask goes for freeing the
media alarm which eventually waits for pending callback to come out.
But as that never happens as callback is stuck so eventually mediatask
also gets blocked and SUSPEND ACK to Audio HAL also gets blocked.
So this phenomenon eventually leads to deadlock and later whosoever
tries to make use of audio therad runs into ANR.
This fix ensures that the current proposed value of semaphore/ workqueue
element cound is made so big that is capable of handling delay of 15s
(Max delay entertained for any AV signalling commands) for
suspend confirm case.
Change-Id: I917e2e0651cfc93837c483cd6f4f94d8aa933fa8
Satish Kodishala [Mon, 16 Nov 2015 17:16:51 +0000 (22:46 +0530)]
HFP-AG: Cleanup when incoming and outgoing connections collide.
- When incoming and outgoing connections from/to same device collide,
clean up outgoing path after incoming connection is accepted.
- Abort outgoing connection to the same device if collision is detected
before making RFCOMM connection.
- Choose the connected device to send response for AT commands.
Change-Id: If5c86356ce0496ab63d6445257bdc1977d2cb56b
Gaurav Asati [Tue, 5 May 2015 10:46:15 +0000 (16:16 +0530)]
Bluetooth: Enable WBS for HFP 1.6 and above
- Enable WBS feature for HFP versions 1.6 and above
Change-Id: I971e5c89e31142c4aec84aae9b92c0e26a00800e
Satish Kodishala [Wed, 13 Jan 2016 13:53:04 +0000 (19:23 +0530)]
AG: Check MT call setup state before starting ring timer
If the MT call is accepted, we should not send ring to
connected headset. If ring timer expires at the same time
when the call gets accepted, we end up stopping and starting
the ring timer.
CRs-Fixed: 961730
Change-Id: I84fe460318a0c10a90a89979e3e0e0ba4fdaa0bd
Bhakthavatsala Raghavendra [Wed, 23 Sep 2015 21:28:27 +0000 (14:28 -0700)]
Bluetooth: Update hf structure on phone state change only if SLC is up
Update hf structures on phone state change only if the perticular
SLC is connected. Updating it regardless of the states causes hf state
to indicate wrong status
CRs-fixed: 913024
Change-Id: I360677306b46e914f939b9034305d4b89dabd79b
Bhakthavatsala Raghavendra [Wed, 2 Sep 2015 23:27:42 +0000 (16:27 -0700)]
Bluetooth: Proper removal of item from connect queue in AG
Remove the connect queue item when RFCOMM connection for HFP is
up instead of while SLC is up, so that Profile state machine
wouldn't allow simultaneous CONNECT requests
Change-Id: Ie913f552d428d40fae1f8cded169c1cc49c822c8
Mallikarjuna GB [Tue, 23 Jun 2015 12:00:03 +0000 (17:30 +0530)]
Move SCO state properly
Due to sudden SCO disconnect along with ACL disconnect,
DUT's SCO state didn't move to proper state.Due to this,
next attempts to open SCO is failed and user was not
able to route call audio to BT headset.
This change attempts to handle this bad behaviour from
the remote and makes sure that SCO state is proper.The
change calls sco disconnection callback even in collision
case to allow SCO statemachine move to proper state.
Change-Id: I077b4b9c795bb8130bde5fe1cff98c88d570de44
Manu Viswanadhan [Tue, 7 Jun 2016 10:51:18 +0000 (16:21 +0530)]
BT: Initializing the SDP event message pointer before sending
In case of SDP_ServiceSearchAttributeRequest failure, garbage value
might be sent for discovery result structure, leading to crash.
Initializing the structure to zero to avoid this scenario.
Change-Id: I46d92d6262bae3b5def5401270465a3a06468c1a
CRs-Fixed:
1023388
The Android Automerger [Tue, 28 Jun 2016 07:04:16 +0000 (00:04 -0700)]
merge in nyc-release history after reset to nyc-dev
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
The Android Automerger [Sun, 26 Jun 2016 07:04:02 +0000 (00:04 -0700)]
merge in nyc-release history after reset to nyc-dev
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: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: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
The Android Automerger [Tue, 21 Jun 2016 07:03:55 +0000 (00:03 -0700)]
merge in nyc-release history after reset to nyc-dev
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
The Android Automerger [Sun, 19 Jun 2016 07:05:37 +0000 (00:05 -0700)]
merge in nyc-release history after reset to nyc-dev
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)
The Android Automerger [Thu, 16 Jun 2016 07:04:43 +0000 (00:04 -0700)]
merge in nyc-release history after reset to nyc-dev
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
The Android Automerger [Wed, 15 Jun 2016 07:04:32 +0000 (00:04 -0700)]
merge in nyc-release history after reset to nyc-dev
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
TreeHugger Robot [Tue, 14 Jun 2016 23:28:20 +0000 (23:28 +0000)]
Merge "HOGP: Preffer write command over write requests" into nyc-dev
Jakub Pawlowski [Tue, 14 Jun 2016 22:03:29 +0000 (22:03 +0000)]
Merge "Use UINT16 for GATT attribute id field" into nyc-dev
Jakub Pawlowski [Tue, 14 Jun 2016 21:40:51 +0000 (14:40 -0700)]
HOGP: Preffer write command over write requests
Some HID devices will accept both write request and write command.
Prefer write commands when possible.
This is due to bug in some hardware, that will not send write response
when too many commands are queued.
Bug:
29184976
Change-Id: I5bafc067f044a48f152c60b8e17722067bc1453e
Jakub Pawlowski [Tue, 14 Jun 2016 19:47:52 +0000 (12:47 -0700)]
Use UINT16 for GATT attribute id field
Id field is equal to attribute handle, so it must be 16bits.
Otherwise only piece of GATT database can be used.
Bug:
29253825
Change-Id: Ia88e3ad3eb96ca8e97349aa5e852e66c57072b49
Jakub Pawlowski [Tue, 14 Jun 2016 19:23:44 +0000 (12:23 -0700)]
Fix missing GATT Characteristic from last service
GATT Service is contained between start and end handle. If
characteristic definition is at end handle, and it's value definition is
after end handle, it will not be properly discovered. That's because we
use value_handle instead of attribute_handle to identify
characteristics.
As a workaround, increase service boundary if value is defined after
it's definition.
Bug:
29253825
Change-Id: Ib145aea4f5cf38a1fbb977c301136e16f8f900f7
Jakub Pawlowski [Mon, 13 Jun 2016 17:30:17 +0000 (10:30 -0700)]
HOGP: Clear pending operations for a given device on connect
If there are any HID operations scheduled after disconnect, mark the
device as no longer executing after establishing connection. Otherwise
we'll be unable to send any HID commands to it.
Change-Id: Ie1bb622388a3bcb574dec3dde76ef4518ee1102f
The Android Automerger [Sun, 12 Jun 2016 07:05:19 +0000 (00:05 -0700)]
merge in nyc-release history after reset to nyc-dev
Jakub Pawlowski [Fri, 10 Jun 2016 23:32:26 +0000 (16:32 -0700)]
HOGP: Clear pending operations for a given device on disconnect
If there are any GATT operations interrupted by a disconnect, mark the
device as no longer executing. Otherwise we'll stil receive data from
the device, but we'll be unable to send any HID commands to it.
Bug:
29184976
Change-Id: I489f41c970abad0ff1145005d3250beafa83d27e
AnubhavGupta [Wed, 6 Apr 2016 06:17:05 +0000 (11:47 +0530)]
Do not request AVRC_CAP_COMPANY_ID if A2DP Sink is not enabled
Also fixed AVRC_PDU_GET_PLAY_STATUS timeout response.
Bug:
28177785
Change-Id: Icde64a5c1806453850abe101f9707fff61566566
(cherry picked from commit
1c512b851d76deac860fce1232e4a1fa1a097f1c)
The Android Automerger [Thu, 9 Jun 2016 07:05:08 +0000 (00:05 -0700)]
merge in nyc-release history after reset to nyc-dev
Srinu Jella [Wed, 8 Jun 2016 10:20:53 +0000 (15:50 +0530)]
Set disable timer in case of any active ACL connection
Use Case: Disable time out when atleast one active ACL connections
Steps:
1. Turn ON Bluetooth
2. Connect to any Headset
3. Turn OFF bluetooth.
Failure: Turn OFF bluetooth is failed when atleast one active ACL connections
Root Cause:i If we have one or more active ACL links, so it is not notitying
BTA_DM_DISABLE_EVT to upper layer.
Fix: Set disable timer in case of any active ACL connection
Bug:
29217385
Change-Id: Ica47717119f1ab9fa9f4f5244e8483c408276a2a
(cherry picked from commit
3e4f01ada8c1627bd48f31cd0c8269984b8e5f96)
TreeHugger Robot [Wed, 8 Jun 2016 22:03:23 +0000 (22:03 +0000)]
Merge "btm: Restrict EXTENDED_INQUIRY_RESULT to 1 result" into nyc-dev
The Android Automerger [Wed, 8 Jun 2016 07:03:58 +0000 (00:03 -0700)]
merge in nyc-release history after reset to nyc-dev
TreeHugger Robot [Wed, 8 Jun 2016 01:30:28 +0000 (01:30 +0000)]
Merge "Fix payload size for GATT Read by type request" into nyc-dev
Pankaj Kanwar [Wed, 8 Jun 2016 01:28:49 +0000 (01:28 +0000)]
Merge "Reject L2CAP INFO RSP and ECHO RSP on the LE signaling channel" into nyc-dev
Subramanian Srinivasan [Fri, 27 May 2016 23:32:55 +0000 (16:32 -0700)]
Fix payload size for GATT Read by type request
Payload size for GATT Read by type request for UUID32 and UUID128
are incorrectly allocated. This leads to memory overflow when
Read by type request is sent for them and eventually results
in crash during free. This change makes sure that the payload
can accomodate upto 128 bit UUID.
This crash is observed while running TC_GAR_CL_BV_03_C Qual test
case.
Bug:
29011042
Change-Id: Ib2b41b769b394670099f4549f204e2972f7df876
(cherry picked from commit
7da98621a4dfa8196b8d20e8955ad508f540e5d9)
Venkata Jagadeesh [Fri, 27 May 2016 10:06:20 +0000 (15:36 +0530)]
Reject L2CAP INFO RSP and ECHO RSP on the LE signaling channel
Steps:
Execute TC_LE_REJ_BI_02_C
Failure:
PTS stuck after sending INFO RSP, ECHO RSP on the LE signaling channel
Root Cause:
The Bluetooth stack is not rejecting INFO RSP, ECHO RSP even though
these commands are invalid for the LE signaling Channel.
Fix:
Reject the INFO RSP, ECHO RSP with error L2CAP_CMD_REJ_NOT_UNDERSTOOD.
Bug:
27852645
Change-Id: Ie09f658d606206cbdbea928e8cb6d10332743cf4
(cherry picked from commit
d35bb40dd563e7f37df0a2fa9c0f61d0958b9601)
Myles Watson [Tue, 7 Jun 2016 23:14:18 +0000 (16:14 -0700)]
btm: Restrict EXTENDED_INQUIRY_RESULT to 1 result
The spec only allows one result per event.
Abort processing and return if the spec is not followed.
Bug:
29141745
Change-Id: Ic414b28adadec274779b0d953d12d499a619aff6
Signed-off-by: Myles Watson <mylesgw@google.com>
Nitin Arora [Tue, 15 Mar 2016 22:00:36 +0000 (15:00 -0700)]
Remote device changes for SMP certification
Use Case:
Certification test cases for SMP require various scenarios
where the remote device needs to show a specific behavior
where it fails the pairing in a certain way, and the DUT is
required to abort the pairing properly.
In abcense of a proper PTS suite to execute these test cases,
we can use another device running the same host by configuring
certain run time property.
Test Cases:
TP/SCJW/BI-02-C
TP/SCJW/BV-02-C
TP/SCPK/BI-03-C
TP/SCPK/BI-04-C
TP/SCPK/BV-02-C
TP/SCPK/BV-03-C
TP/SCJW/BI-01-C
TP/SCCT/BV-01-C
TP/SCCT/BV-02-C
TP/SCPK/BI-01-C
TP/SCPK/BI-02-C
TP/SCPK/BV-04-C
TP/SCPK/BV-01-C
Fix:
Added a property in the bt_stack.conf file. The property name
is "SmpFailureCase". The values 2 to 6(inclusive), are forcausing SMP
failures with various failure reasons.
Failure case 1 and 9 are for producing error "Confirm value failure".
Cases 7 and 8 are for generating specific errors at pair cancel.
Note:
The default use of this feature is controlled using a compile
time flag BTM_BLE_SMP_CERTIFICATION.
The BTM_BLE_SMP_CERTIFICATION = TRUE is needed only while we
wait for the PTS support for the LE Secure connections.
Bug:
27852645
Change-Id: I1f7a8ff2659d85b5978b75870c57162a34d394d0
(cherry picked from commit
0bd0c8fc88a7141691a7ca839b11cb711945ee33)
The Android Automerger [Tue, 7 Jun 2016 07:04:32 +0000 (00:04 -0700)]
merge in nyc-release history after reset to nyc-dev
Pankaj Kanwar [Tue, 7 Jun 2016 00:09:01 +0000 (00:09 +0000)]
Merge "Revert "DO NOT MERGE Proper construction of AVDTP general reject message"" into nyc-dev
Pankaj Kanwar [Tue, 7 Jun 2016 00:07:46 +0000 (00:07 +0000)]
Merge "Clear BLE block from device records at unpair" into nyc-dev
Nitin Arora [Mon, 25 Apr 2016 21:47:51 +0000 (14:47 -0700)]
Clear BLE block from device records at unpair
Use Case:
Pair and unpair LE remote device repeatedly. The repair
intermittently fails with the error "DHKey Check Failure"
Failure:
Pairing failure is observed when pairing is performed
after unpairing, without performing a BT reset.
Further analysis of the SMP logs indicate that DUT uses the
static address of the remote device for calculation of the
MacKey value. At the time of pairing, the remote RPA should
be used (and the static address has not yet been distributed either).
The problem is caused by the previous dev record which is left in
the stack, and at the time of repair, stack picks the old device
record and reuses it.
Fix:
This change removes the entire BLE block from the device record,
after the unpairing is performed, so that a new device record
is allocated, after the repairing is done.
Bug:
27852645
Change-Id: I8d605d1bb3b1c32061a8d8a7a7fe0fe200030abc
JivakDhadse [Fri, 7 Aug 2015 13:28:38 +0000 (18:58 +0530)]
Revert "DO NOT MERGE Proper construction of AVDTP general reject message"
This reverts commit
2ed10d442266eade44be121cd24fd473c85007d0.
Original change needs to be reverted to align with Errata
ESR04 where "Section 8.17, General Reject Page 71" of adopted
AvDTP Spec is changed to have "Invalid Signal Identifier"
in first 6 bits of Octet 1.
This change helps passing PTS case TP/SIG/SMG/ESR04/BI-28-C
Bug:
27852645
Change-Id: Idfc960ce00662e8aacc26f3b3fdca9deca8a2aff
Navin Kochar [Fri, 18 Mar 2016 06:34:30 +0000 (12:04 +0530)]
Fix for issue introduced due to rebase of LE L2CAP COC
During
6721232 patch, some code got missed while doing manual rebase.
This patch is adding that missing code.
Bug:
27852645
Change-Id: I2525908c29e3288e0ace1ee26c5f2aa6cfd59d68
Signed-off-by: Navin Kochar <navin.kochar@intel.com>
The Android Automerger [Wed, 1 Jun 2016 07:04:17 +0000 (00:04 -0700)]
merge in nyc-release history after reset to nyc-dev
Andre Eisenbach [Mon, 30 May 2016 19:00:46 +0000 (12:00 -0700)]
HID: Check for EINTR in uhid_event() and fix return value evaluation
uhid_event() returns 0 in the normal case. Commit
3a2c2d61
results in the polling thread to be exited.
Bug:
28942565
Change-Id: Id0aff2958bc7c2704ba340aa0ff7848afb8dcf80
The Android Automerger [Sun, 29 May 2016 07:05:55 +0000 (00:05 -0700)]
merge in nyc-release history after reset to nyc-dev
Pavlin Radoslavov [Fri, 27 May 2016 19:07:06 +0000 (12:07 -0700)]
Update the HCI unit test if BT_CLEAN_TURN_ON_DISABLED is TRUE
Bug:
28614494
Change-Id: I3f4a923f9e14faef57b2d694bfc253fd10749414
(cherry picked from commit
7496372239773b7121359a34291681b749beda5f)
Jakub Pawlowski [Thu, 26 May 2016 22:13:04 +0000 (15:13 -0700)]
Add minimum LE connection timeout that can be used for HID devices
Fixes:
28979841
Change-Id: I520608a13224601fb9101d00c08b34cdb0f8d374
The Android Automerger [Thu, 26 May 2016 07:04:19 +0000 (00:04 -0700)]
merge in nyc-release history after reset to nyc-dev
Pavlin Radoslavov [Thu, 26 May 2016 01:08:29 +0000 (18:08 -0700)]
Remove the RFComm MCB from the ports when releasing it
Bug:
28849621
Change-Id: I3ce1c857d0d0a2c00c59d8f71b40685ae602dc29
(cherry picked from commit
1f9eb3d62c78bae8b429a48f71629d6e53f9fc87)
Jacky Cheung [Wed, 18 May 2016 22:41:09 +0000 (15:41 -0700)]
Improve config file sync during configuration save.
Add fsync() calls to force sync to disk while saving configuration
file. It is necessary to do a sync on the temp file before rename,
and to sync again on its parent directory to ensure both the
file content and the directory are up-to-date.
Bug:
27354612
Change-Id: I3a862ad59c8ae5beb8ea2c727eb5f275a2d5823e
(cherry picked from commit
95dbe03a693f4a920204b8c6acbba5269915a59f)
The Android Automerger [Wed, 25 May 2016 07:04:55 +0000 (00:04 -0700)]
merge in nyc-release history after reset to nyc-dev
Ayan Ghosh [Mon, 11 Nov 2013 13:55:16 +0000 (19:25 +0530)]
Limit number of SBC frames to fit into single MTU
- Calculate number of SBC frames to fit into single MTU for EDR capable
remote devices. This makes sure the maximum utilization of the
available bandwidth, keeping the bitrate at high quality.
- This change helps to address the discrepancy seen with a few available
2 Mbps headsets which set the AVDTP media MTU size greater than the
2DH5 packet payload size which eventually forces AVDTP packets to get
fragmented in the controller. This change ensures packing of the SBC
frames in a way that AVDTP packet size fits within the 2DH5 payload
size.
- As packet size is restricted to meet the required bit rate more than
one AVDTP packet can be sent to the controller in a given iteration
based on the bit rate requirement.
Bug:
24875861
Change-Id: Icae7656ad563bbbdef65ecbfa15a89b26cf9edb2
Jakub Pawlowski [Tue, 24 May 2016 22:16:05 +0000 (22:16 +0000)]
Merge "Fix crashes in btif_sendmsg when worqueue not initialized" into nyc-dev
Ajay Panicker [Tue, 24 May 2016 22:15:52 +0000 (22:15 +0000)]
Merge "Add guest mode functionality (2/3)" into mnc-dev am:
4439d380e5 am:
99bbe2fffe -s ours am:
34619f8e30
am:
84970d1300
* commit '
84970d13000623b266a72433474c4c2ae6abd3c6':
Add guest mode functionality (2/3)
Change-Id: I8e26f8bb0fa6898427507dfc888dfb6fd743fcac