OSDN Git Service

android-x86/system-bt.git
10 years agoImplement a fixed queue.
Sharvil Nanavati [Sat, 3 May 2014 06:55:09 +0000 (23:55 -0700)]
Implement a fixed queue.

Change-Id: Ifad7605d0b6e1a57f4767f9de1bed7e99284ded7

10 years agoBluetooth: Changes to enable features on KWD
Nitin Arora [Thu, 29 May 2014 01:50:09 +0000 (18:50 -0700)]
Bluetooth: Changes to enable features on KWD

This patch contains changes needed to enable features,
multiple advertisment, packet content filtering and
privacy mode on kwd branch

Change-Id: If95bfb38eafe26f16db20e7650865c2f19553548

10 years ago[2/4] Add Support for AVRCP Controller Feature
Hemant Gupta [Fri, 7 Feb 2014 11:04:47 +0000 (16:34 +0530)]
[2/4] Add Support for AVRCP Controller Feature

  - Provide support for AVRCP Controller CAT 1 and CAT 2
    Passthrough commands.

Change-Id: Ia3ca08c1139d9a98b86919b51d7480e0245c35f3

10 years agoFix build issue for devices without BLE features.
Wei Wang [Tue, 20 May 2014 06:23:35 +0000 (23:23 -0700)]
Fix build issue for devices without BLE features.

Change-Id: I6499663d253c791cc739ed76b839eb3aefe6613a

10 years agoLE: Add RRA offloading and vendor specific PCF commands
Satya Calloji [Mon, 12 May 2014 16:13:02 +0000 (09:13 -0700)]
LE: Add RRA offloading and vendor specific PCF commands

Change-Id: Iadca8e73ceaadcd0429421ea70f1b76644e88c42

10 years agoLE Multi ADV feature
Satya Calloji [Wed, 30 Apr 2014 22:55:39 +0000 (15:55 -0700)]
LE Multi ADV feature

BTIF and stack changes for LE multi ADV feature

Change-Id: I5e009ff8cbac5fc6f92ca943c61c4faf98e4e2ce

10 years agoMerge "[2/4] Bluetooth: Add support for HFP Client role." into klp-wireless-dev
Mike Lockwood [Thu, 15 May 2014 20:06:55 +0000 (20:06 +0000)]
Merge "[2/4] Bluetooth: Add support for HFP Client role." into klp-wireless-dev

10 years agoMerge "Submitted on behalf of 3rd party copied from external/bluetooth/bluedroid...
Mike Lockwood [Thu, 15 May 2014 20:06:34 +0000 (20:06 +0000)]
Merge "Submitted on behalf of 3rd party copied from external/bluetooth/bluedroid" into klp-wireless-dev

10 years agoLE: Add API to set scan interval and window (2/4)
Prerepa Viswanadham [Fri, 9 May 2014 23:08:49 +0000 (16:08 -0700)]
LE: Add API to set scan interval and window (2/4)
Delete client_if from scan api's
Change-Id: I66e0e17221601cd07ea77cf3d61ad9ce20a603a4

10 years ago[2/4] Bluetooth: Add support for HFP Client role.
Hemant Gupta [Mon, 19 Aug 2013 13:03:01 +0000 (18:33 +0530)]
[2/4] Bluetooth: Add support for HFP Client role.

Implementation changes in BTA and BTIF layer to support
HFP Client role.

Change-Id: I9f939c18e8f989a50f298d0b313c5a0959c030a7

10 years agoSubmitted on behalf of 3rd party copied from external/bluetooth/bluedroid
Hemant Gupta [Tue, 29 Apr 2014 10:53:59 +0000 (16:23 +0530)]
Submitted on behalf of 3rd party copied from external/bluetooth/bluedroid

Initial commit for HFP Client

Change-Id: I26b7d49b76ab28b019314ddb514e8f46b3bc4772

10 years agoUnable to pair and connect A2DP headset with DUT on KWD
Zhihai Xu [Thu, 8 May 2014 23:39:34 +0000 (16:39 -0700)]
Unable to pair and connect A2DP headset with DUT on KWD

this is due to some field type is not defined correctly.
We don't have this problem with old compile option.
recently some compile option change expose this bug.

bug:14489818
Change-Id: Ief48ec7d1312eb588fc344ea0afb153226bf0541

10 years agoClean up the public functions in userial.c.
Sharvil Nanavati [Sat, 26 Apr 2014 17:40:30 +0000 (10:40 -0700)]
Clean up the public functions in userial.c.

Change-Id: I6513296a8c606c49a4cadf196d89573948026e4a

10 years agoEliminate dead code (helped by compiler warnings).
Sharvil Nanavati [Sat, 3 May 2014 22:33:15 +0000 (15:33 -0700)]
Eliminate dead code (helped by compiler warnings).

I've removed all functions that the compiler decided were unused.

Change-Id: I0cbddf874ebd1586abe29b80e8d6390680679542

10 years agoFix data type for rmt_auth_req; it stores an integral value.
Sharvil Nanavati [Sat, 3 May 2014 19:11:15 +0000 (12:11 -0700)]
Fix data type for rmt_auth_req; it stores an integral value.

This broke pairing in a bunch of ways, most notably the inability
to use Just Works pairing mode. Just Works is used quite heavily
by iOS devices.

http://b/14438257

Change-Id: I4d32b446d0435acfc73987b91dbd1a0bd3b53ec3

10 years agoMinor cleanup of userial code.
Sharvil Nanavati [Sat, 26 Apr 2014 07:58:15 +0000 (00:58 -0700)]
Minor cleanup of userial code.

Change-Id: Ib8b094196f2de1515f79f17c4b87eb05f4c113dc

10 years agoUpdate RFCOMM socket code to use list data structure.
Sharvil Nanavati [Sat, 26 Apr 2014 05:38:55 +0000 (22:38 -0700)]
Update RFCOMM socket code to use list data structure.

Change-Id: I70402d8bfaa36b36d3d4b8f3cec98371691e86c9

10 years agoUpdate btif_profile_queue to use the list data structure.
Sharvil Nanavati [Sat, 26 Apr 2014 06:16:01 +0000 (23:16 -0700)]
Update btif_profile_queue to use the list data structure.

The profile queue maintains a list of pending connect operations
for each profile. If a connect is followed by a disconnect before
the queued connect is dispatched, the disconnect will have no
effect and the connect will proceed.

This code clearly needs to be re-thought; it may be a good idea to
abandon the connect queue entirely in the long-run.

Change-Id: Ic0e85654abcf7a47f65953edb301eb9524394950

10 years agoAdd a singly linked list implementation for OSI.
Sharvil Nanavati [Thu, 24 Apr 2014 23:22:45 +0000 (16:22 -0700)]
Add a singly linked list implementation for OSI.

Change-Id: Ifffd6f9eabee482a81b326c9cf8d06163aede0f4

10 years agoBluetooth: On Suspend ignore media task timer event
Hemant Gupta [Thu, 5 Sep 2013 14:12:50 +0000 (19:42 +0530)]
Bluetooth: On Suspend ignore media task timer event

On Recieving Suspend confirmation from remote device,
Media task timer reload and tx_timer is made false,
hence media task will not be stopped at that instant.
Media task timer expires causing buffer to be allocated.
Changes done to ensure buffer is allocated only if tx_timer
is true.

Change-Id: I971a82cccc64ba033475ad532b096862968de942

10 years agoHID: Send Close event to upper layers during reconnection
Hemant Gupta [Fri, 2 May 2014 19:01:26 +0000 (00:31 +0530)]
HID: Send Close event to upper layers during reconnection

This patch sends close event callback to upper layers, so that UI
is updated of correct state of HID connection when connection
between hid host and hid device drops for some reason and host is
attempting reconnection. Without this patch, upper layers gives
false update of connection still present when actually no connection
exists between hid devices. Connection state was only getting updated
if reconnection attempt was also failing.

Change-Id: Ic276d9b57c5c84c4264ddeeadc34c983c718ba3a

10 years agoGAP: Return BTM_CMD_STARTED from btm_sec_l2cap_access_req
Hemant Gupta [Thu, 19 Dec 2013 15:07:16 +0000 (20:37 +0530)]
GAP: Return BTM_CMD_STARTED from btm_sec_l2cap_access_req

Return BTM_CMD_STARTED from btm_sec_l2cap_access_req when
remote device link is neither authenticated or encrypted so as
to send L2CAP Peer connect response with status auth pending.
This lets remote device extend the waiting time. This fixes IOT
issues with HP laptop EliteBook 8440p/8460p where pairing was
not possible.

Change-Id: I6cf6a72640de938a8145b541d4bad1bcba758ac5

10 years agoMHF: Route call to correct HS in multi call scenario.
Hemant Gupta [Mon, 5 May 2014 12:15:08 +0000 (17:45 +0530)]
MHF: Route call to correct HS in multi call scenario.

  - This change makes sure that audio routes back to correct
    headset in multi call scenario even though the other
    headset tries to answer or dial.
  - Ignore setting hf_idx for ATA/BLDN received from HS
    for a waiting call when an active/held call is already
    present.

Change-Id: I19949471d481bf911fda2222dc6d730d1a821b65

10 years agoMerge "fix random crashes in bd2str caused by exceeding string array" into klp-wirele...
Matthew Xie [Mon, 5 May 2014 18:06:38 +0000 (18:06 +0000)]
Merge "fix random crashes in bd2str caused by exceeding string array" into klp-wireless-dev

10 years agoResolve Pairing failure with IPhone
Ganesh Ganapathi Batta [Mon, 28 Apr 2014 23:30:55 +0000 (16:30 -0700)]
Resolve Pairing failure with IPhone

When pairing is initiated from the iPhone side, it sets Bonding bit
without MITM. We responded to this with No bonding, No MITM. This resulted
in JustWorks & Unauthenticated link key. After pairing iPhone initiates a
RFCOMM connection. This caused a link key upgrade to be done, which the iPhone
rejected, resulting in pairing failure. To resolve this the following
enhancements were made
1. If locally initiated pairing always set Bonding bit + MITM
2. If remote initiated
a. copy over the bonding bit
b. if peer has DisplayYesNo set MITM
3. As a fallback if remote had MITM, enable MITM in our response
This forces pairing to use Bonding bit+MITM thus resulting in authenticated
combination linkkey

Change-Id: I08f16c80821bc822023180d01868614ba41e6d88

10 years agoTemporarily fix test suite to swap arguments until code from AOSP is merged in.
Sharvil Nanavati [Sun, 4 May 2014 00:12:15 +0000 (17:12 -0700)]
Temporarily fix test suite to swap arguments until code from AOSP is merged in.

Change-Id: I5d8e56f7581df9bcefc8c46518835cac588f47df

10 years agoInitial import of HAL-layer tests for bluedroid.
Sharvil Nanavati [Thu, 10 Apr 2014 05:20:40 +0000 (22:20 -0700)]
Initial import of HAL-layer tests for bluedroid.

The test cases are in cases/, the support infrastructure for the
tests are in support/. Initially, as new test cases are being added
for different functional areas (e.g. BT socket) we'll need to also
write support functions to make those tests easier to write.
Over time, however, the support functions will be complete enough
that writing additional tests won't require also writing support
routines.

Change-Id: I54abb1011ca5132834a334cc256e3ff18cc20cbb

10 years agoMerge "Fix Null pointer access in GKI timer library" into klp-wireless-dev
Matthew Xie [Fri, 2 May 2014 22:19:38 +0000 (22:19 +0000)]
Merge "Fix Null pointer access in GKI timer library" into klp-wireless-dev

10 years agoMerge "Fix issue of HDP select thread not exiting during BT OFF" into klp-wireless-dev
Matthew Xie [Fri, 2 May 2014 21:33:24 +0000 (21:33 +0000)]
Merge "Fix issue of HDP select thread not exiting during BT OFF" into klp-wireless-dev

10 years agoGAP: Avoiding two disconnections from DUT
Hemant Gupta [Fri, 18 Apr 2014 09:34:43 +0000 (15:04 +0530)]
GAP: Avoiding two disconnections from DUT

Avoid sending two hci disconnect commandss from DUT when remote
initiated connection fails when user presses cancel for incoming
pairing request.

Change-Id: Idd05ffbcaac427515a54216adcdd7dbe26cb21c8

10 years agoGAP: Update local device name immediately
Hemant Gupta [Mon, 6 Jan 2014 08:58:28 +0000 (14:28 +0530)]
GAP: Update local device name immediately

Though the function btif_config_set_str requests to
save device name immediately, sometimes it doesn't
call save device name if the cached changes are more.

So calling the "btif_config_save" explicitly to avoid
failure cases.

Change-Id: I9fb05caf284d6a6feb906f87a4db19896182d2c9

10 years agoFix Null pointer access in GKI timer library
Ganesh Ganapathi Batta [Mon, 28 Apr 2014 23:21:04 +0000 (16:21 -0700)]
Fix Null pointer access in GKI timer library

Change-Id: Iada2d426fe4592416eed988202c14599656b33e4

10 years agoMerge BT 4.1 features
Ganesh Ganapathi Batta [Wed, 16 Apr 2014 23:50:09 +0000 (16:50 -0700)]
Merge BT 4.1 features

The features include:
- LE Peripheral Mode
- Link Layer topology (LE Central & Peripheral Concurrency)
- Dual Mode Topology (Ability to choose LE transport when connecting with
other Dual Mode devices)
- Fast advertising Interval
- Limited Discovery Time Changes
- GAP Authentication and Lost Bond
- Dual Mode Addressing
- Common Profile and Service Error Code
- 32 bit UUIDs

Change-Id: Ic6701da4cf6aaa390ff2c8816b43157f36b7fb42

10 years agofix random crashes in bd2str caused by exceeding string array
Ganesh Ganapathi Batta [Wed, 30 Apr 2014 00:32:14 +0000 (17:32 -0700)]
fix random crashes in bd2str caused by exceeding string array

remove all casts to avoid sign extension of bd address as this may
exceed the size of destination str buffer

Change-Id: I27dc7e61b52440c6b284b7e9931e6daa66afbf12

10 years agofix compilation error due to not include correct header
Zhihai Xu [Tue, 29 Apr 2014 23:08:48 +0000 (16:08 -0700)]
fix compilation error due to not include correct header

Change-Id: Ic4c1fb319f9c4202efd108d180f438a6fa26e05a

10 years agoAdd support for Multi-HFP devices
Nitin Srivastava [Fri, 14 Mar 2014 23:19:58 +0000 (16:19 -0700)]
Add support for Multi-HFP devices

1. Add multi headset support in stack.
2. Each HS will be associated with unique CB in BTIF
and also corresponding SCB in BTA.
3. Upstream event callbacks will be sent to
specific HS based on BD_ADDR.
4. Similiarly all commands to BTIF will be for
specific HS.

Change-Id: I0dc6b1b54f16244b802d818ae60944877a41d020

10 years agoBluetooth: Clear Notification array on AVRCP disconnect
Nitin Srivastava [Thu, 13 Feb 2014 14:01:40 +0000 (19:31 +0530)]
Bluetooth: Clear Notification array on AVRCP disconnect

DUT does not clear previous AVRCP notification registration
on AVCTP disconnect hence DUT sends response even when remote
device hasn't registered.
Changes made to clear notification array and while sending
notification respose check if event is registered.

Change-Id: I610f8ae6381a63236378f179bb2a619ec0c6549e

10 years agoSet out stream to null if control socket fails to connect
Nitin Srivastava [Fri, 31 Jan 2014 10:21:24 +0000 (15:51 +0530)]
Set out stream to null if control socket fails to connect

Set out stream to null if control socket fails to connect.
This helps in avoiding wrong usage of audio device out stream
even after the same is freed as part of control socket connection
failure.

Change-Id: I8e2a7bbc71d581525b7eef1955e411c220d01627

10 years agoBluetooth: retry recv in case of EINTR
Nitin Srivastav [Fri, 21 Feb 2014 13:03:14 +0000 (18:33 +0530)]
Bluetooth: retry recv in case of EINTR

 -  retry recv call in HAL, in case socket call
    fails with EINTR

Change-Id: I3ab27752b0ce0a68f6776cf5da340580e7d1f345

10 years agoBluetooth: GAP: Remove bonded device info on Authentication fail
Zhihai Xu [Wed, 27 Nov 2013 08:40:53 +0000 (14:10 +0530)]
Bluetooth: GAP: Remove bonded device info on Authentication fail

Remove bonded device information from the BT-IF layer storage
on authentication failure if already bonded with just works
model.
from QCOM
Change-Id: Ia3c1635c446f39b1dbd4cdd0122c2f70cbbc8dd7

10 years agoFix issue of HDP select thread not exiting during BT OFF
Ganesh Ganapathi Batta [Mon, 28 Apr 2014 23:25:52 +0000 (16:25 -0700)]
Fix issue of HDP select thread not exiting during BT OFF

Change-Id: I52a0a3caff327a7a51e293c431ddbc99db690180

10 years agoUse standard C99 integral types. This offers better type safety.
Sharvil Nanavati [Thu, 17 Apr 2014 04:51:56 +0000 (21:51 -0700)]
Use standard C99 integral types. This offers better type safety.

Notice that I had to change a couple of function declarations
because the compiler caught the inconsistency with the new typedefs.

Change-Id: I202fd1dc086de41e1cfe083eb1a5f74a942d01e5

10 years agoIncreasing the SDP_MTU_SIZE from 256 to the default 672 bytes
Zhihai Xu [Thu, 16 Jan 2014 05:49:32 +0000 (21:49 -0800)]
Increasing the SDP_MTU_SIZE from 256 to the default 672 bytes

This works better with IOT of devices
bug 10588724

Change-Id: I28fd74339d8f344b056b82bf2d71e7d70be7a0fa

10 years agoa2dp audio HAL: use correct interface version
Zhihai Xu [Fri, 21 Mar 2014 01:01:09 +0000 (18:01 -0700)]
a2dp audio HAL: use correct interface version

Do not use AUDIO_DEVICE_API_VERSION_CURRENT version
but AUDIO_DEVICE_API_VERSION_2_0 to reflect the version
actually implemeted.

Change-Id: I31407af7fc4769be1d259ee739422ce9f598be2e

10 years agoAllow simultaneous LE Observe and BTM Inquiry/Scan
Zhihai Xu [Sat, 22 Feb 2014 02:20:37 +0000 (18:20 -0800)]
Allow simultaneous LE Observe and BTM Inquiry/Scan

This patch allows BTM inquiry and LE observe to be launched
and overlap each others' occurance by redirecting results
and handling states accordingly.

CRs-Fixed: 579505

Conflicts:
stack/btm/btm_ble_gap.c
bug 12939764
Change-Id: Ifde73f17f8d40e9ebfff3b49e409591189574ee0

10 years agoSDP: Allocate proper sized scratch buffer for SDP response
Zhihai Xu [Fri, 7 Feb 2014 19:47:26 +0000 (01:17 +0530)]
SDP: Allocate proper sized scratch buffer for SDP response

The buffer allocated for attribute response is being reused
for subsequent requests for an SDP connection. Check the
buffer size before using for subsequent requests and
reallocate if required.

Change-Id: Ib00aff2c4512192c29265cf0adb89e380adf0b35

10 years agoflounder64: bluetooth: Adjust volume level on BT HS and DUT side
Zhihai Xu [Mon, 7 Apr 2014 08:13:06 +0000 (16:13 +0800)]
flounder64: bluetooth: Adjust volume level on BT HS and DUT side

MW600 Bluetooth address is "58:17:0c:e8:b0:7a". It is not included in
AVRCP profile white list. So it can't support absolute volume. We need
to  whitelist it by device name "MW600" instead device address method.

Signed-off-by: Thomas.TT_Lin <Thomas.TT_Lin@htc.com>
Change-Id: I41b27fbab13dcf9d0005e8d5ae25ffb95eb546d4

10 years agoaudio: fix set_parameters return value.
Zhihai Xu [Wed, 26 Mar 2014 01:36:27 +0000 (18:36 -0700)]
audio: fix set_parameters return value.

xxx_set_parameters functions were returning the status
returned by str_parms_create_str() which is incorrect.
These functions should return 0 when no error occurs.

Change-Id: I984d95457c985fbaf1a15baa522f8a84f99dd7c9

10 years agoHID: Use dynamic memory while sending data
Hemant Gupta [Mon, 21 Apr 2014 18:53:21 +0000 (00:23 +0530)]
HID: Use dynamic memory while sending data

This patch uses dynamic memory allocation while sending HID output data to
remote device depending on size of data to be sent. Without this patch
fixed size static buffer of 200 bytes was being used for sending data to
remote device, which was resulting in crash in case data size to be sent
to remote device was greater than 200 bytes.

Change-Id: I5ed12422355e88d7ef0391668800d7619ca3b685

10 years agoHID: Parse paired hid devices from bluez.
Hemant Gupta [Fri, 25 Oct 2013 16:30:07 +0000 (22:00 +0530)]
HID: Parse paired hid devices from bluez.

This patch adds support for parsing SDP records of paired HID devices
from bluez device storage path and store the parsed hid sdp data into
bluedroid storage path. Without this patch, it was not possible to
have paired HID devices during upgrade from BlueZ to Bluedroid Stack.

Change-Id: I7db4a801f3cf9ca46fc0eabfd929e8d7c16b5edb

10 years agoGAP: Try to retrieve CoD from NVRAM if 0
Hemant Gupta [Thu, 28 Nov 2013 07:37:10 +0000 (13:07 +0530)]
GAP: Try to retrieve CoD from NVRAM if 0

This patch tries to retreive CoD from NVRAM if CoD is 0. This is
because in scenarios when airplane mode on/off, inquiry is not
performed again on devices shown in Available devices List of
UI, so CoD is 0 during SSP information as database of stack is
not properly updated since inquiry is not performed again. Without
this patch it was observed because of wrong CoD info device icon
for HID mouse was changed to Joystick and device is not shown in
Paired List. Also some extra debug logs are added in code for
better debugging.

Change-Id: I14858ccee04728cb4b9cd60d397b79fa6494b842

10 years agoHID: Reset Disconnect Reason on Connection Establishment
Hemant Gupta [Fri, 5 Jul 2013 18:05:58 +0000 (23:35 +0530)]
HID: Reset Disconnect Reason on Connection Establishment

This patch resets the disconnect reason to successful on HID Interrupt
channel establishment. Without this change, wrong reason is propogated
to BTA layer on disconnection initiated either from DUT or Remote end.

Change-Id: I42641b511e44a761574faf8eafb7b0826e24aeb3

10 years agoHID: Remove device from nvram on auth failure
Zhihai Xu [Fri, 13 Dec 2013 10:39:21 +0000 (16:09 +0530)]
HID: Remove device from nvram on auth failure

This patch removed hid pointing device from nvram on authentication failure
due to pairing timeout or when wrong passkey is entered. Without this patch
it was observed that hid pointing device was always shown in paired list
when DUT was restarted after authentication failure.
CL from qcom(Hemant Gupta)
Change-Id: I69c43d2ed982d5d5abfd5707db90ef4b5c65b34f

10 years agoHID: Use dynamic memory while sending report
Zhihai Xu [Mon, 21 Apr 2014 19:05:42 +0000 (00:35 +0530)]
HID: Use dynamic memory while sending report

This patch uses dynamic memory allocation while sending HID output data to
remote device depending on size of data to be sent. Without this patch
fixed size static buffer of 200 bytes was being used for sending data to
remote device, which was resulting in crash in case data size to be sent
to remote device was greater than 200 bytes.

CL from qcom(Hemant Gupta)
Change-Id: Icc8cd4a4ecfd4bc30cbf848a7c865fcf9308ddf8

10 years agoHID: Serialize L2CAP disconnection
Hemant Gupta [Tue, 29 Oct 2013 06:11:16 +0000 (11:41 +0530)]
HID: Serialize L2CAP disconnection

This patch serializes host initiated hid disconnection by sending
control channel disconnect request only when disconnection response
for interrupt channel has been received.

Change-Id: Ie0c5c62593bb0dd32f83b76bf0d6c1d950f1a684

10 years agoHID: Handle connection failure in disconnecting state
Hemant Gupta [Fri, 22 Nov 2013 15:23:53 +0000 (20:53 +0530)]
HID: Handle connection failure in disconnecting state

This patch handles connectio error of interrupt channel while in
disconnecting state. Without this patch it was seen that upper
layers would not be informed about failure of interrupt channel
connection in this corner case leading to UI stuck at connecting
forever.

Change-Id: I1f5f18e70470eff17b21f2ed921edaefd3c89f9c

10 years agoHID: Reset Idle timeout to 0 while hid disconnection
Hemant Gupta [Mon, 9 Dec 2013 13:13:33 +0000 (18:43 +0530)]
HID: Reset Idle timeout to 0 while hid disconnection

This patch resets idle l2cap timeout to 0 while disconnecting HID L2CAP's.
without this patch it was observed that after hid l2cap disconnection,
ACL disconnection was taking 4 seconds.

Change-Id: I39f16d3981f4a8b5cdf28cd7865631900007d5b8

10 years agoMerge "HID: Fix memory leak in HID Code" into klp-wireless-dev
Zhihai Xu [Mon, 21 Apr 2014 19:08:50 +0000 (19:08 +0000)]
Merge "HID: Fix memory leak in HID Code" into klp-wireless-dev

10 years agoHID: Fix memory leak in HID Code
Zhihai Xu [Sun, 24 Nov 2013 10:53:55 +0000 (16:23 +0530)]
HID: Fix memory leak in HID Code

This patch fixes memory leak in HID code when interrupt reports are
received from remote device before HID connection is setup.
CL from qcom(Hemant Gupta)

Change-Id: If4fe961921c7b1212035cf5f2aa60d2359e322e2

10 years agoMerge "HID: Establish Interrupt Channel when Control channel is configured" into...
Zhihai Xu [Mon, 21 Apr 2014 19:04:04 +0000 (19:04 +0000)]
Merge "HID: Establish Interrupt Channel when Control channel is configured" into klp-wireless-dev

10 years agoHID: Reduce poll time to 50 ms for polling from uhid driver
Hemant Gupta [Thu, 10 Apr 2014 11:00:55 +0000 (16:30 +0530)]
HID: Reduce poll time to 50 ms for polling from uhid driver

This patch reduces poll time for data received from uhid driver to 50 ms
from existing 500 ms. Without this change bta thread was getting blocked upto
max 500 ms when HID is disconnected, which caused delay in sending
of AVDTP Media packets during A2DP and HID concurrent test cases resulting
in audio break on BT headset during HID disconnection as closing of uhid
polling thread is done from BTA context.

Change-Id: I033e2d81e895831555bbfdff1f93fad5f2cc5e59

10 years agoHID: Update SSR parameters during copy.
Hemant Gupta [Mon, 21 Apr 2014 18:14:13 +0000 (23:44 +0530)]
HID: Update SSR parameters during copy.

This patch correctly stores SSR parameters (max latency and min timeout)
retrieved from remote device SDP record in NVRAM.

Change-Id: I87d8b6181981090df21ab746deac7053a1d0e938

10 years agoMerge "Fix GKI exception of calling free on an already freed buffer" into klp-wireles...
Zhihai Xu [Mon, 21 Apr 2014 18:15:54 +0000 (18:15 +0000)]
Merge "Fix GKI exception of calling free on an already freed buffer" into klp-wireless-dev

10 years agoFix GKI exception of calling free on an already freed buffer
Zhihai Xu [Tue, 25 Feb 2014 02:07:14 +0000 (18:07 -0800)]
Fix GKI exception of calling free on an already freed buffer

Various parts of btif_hh.c were creating GKI buffers and
keeping references to them and freeing them in odd and
unnecessary ways.  The buffer is freed by lower levels
of the stack once the buffer has been sent to the chip
at the l2c layer and shouldn't be freed by btif_hh itself
since it's possible to double free, and there could
also be race conditions with other threads already processing
the buffer while the reference is freed if the API calls
are invoked again before the previous invocation was completely
processed.

Also added a helper routine to simplify buffer creation and
initialization.

Change-Id: Ia6039983502e2670b2325d90310244edf843b692
Signed-off-by: Mike J. Chen <mjchen@google.com>
10 years agoMerge "bluetooth: hid: store ssr_max_latency and ssr_min_tout in bonding db" into...
Zhihai Xu [Mon, 21 Apr 2014 18:04:57 +0000 (18:04 +0000)]
Merge "bluetooth: hid: store ssr_max_latency and ssr_min_tout in bonding db" into klp-wireless-dev

10 years agobluetooth: hid: store ssr_max_latency and ssr_min_tout in bonding db
Zhihai Xu [Mon, 27 Jan 2014 22:05:17 +0000 (14:05 -0800)]
bluetooth: hid: store ssr_max_latency and ssr_min_tout in bonding db

Store the ssr_max_latency and ssr_min_tout parameters in the
bonding database.  Previously these parameters were not stored for HID
devices.  This caused an inconsistency in sniff behavior between
when the HID device was paired and following a reboot of the host.

When the HID device is paired the SSR parameters are retrieved
from the HID device and are stored in the HID Host's device list.
If the host is rebooted then the HID Host's device list is
constructed from the bonding database.

If the SSR max latency is non-zero then the SSR parameters are
sent to the firmware and SSR is used.  In the event that the SSR
max latency is 0, as it is if the parameters are not found, then
SSR is disabled.

Bug: 12764547

Change-Id: I63637575fdfcf4cb4ca0ce8dc2e4ccda9cccaf66
Signed-off-by: Adam Hampson <ahampson@google.com>
10 years agoHID: Establish Interrupt Channel when Control channel is configured
Hemant Gupta [Wed, 2 Apr 2014 13:58:47 +0000 (19:28 +0530)]
HID: Establish Interrupt Channel when Control channel is configured

This patch starts establishment of Interrupt channel only when HID Control
channel has been properly configured.

Change-Id: I28f1100abeece9255fbdd5df312236c18baebe17

10 years agoAdd flow control for PAN.
Sharvil Nanavati [Mon, 7 Apr 2014 20:52:37 +0000 (13:52 -0700)]
Add flow control for PAN.

This change reads from the TAP fd only when btpan_cb.flow == 1.
The value of this flag changes based on L2CAP congestion events.

http://b/13246629

Change-Id: Ic28bf65737dbd74c41b68198fceee58e3bff08d4

Conflicts:
btif/src/btif_pan.c

10 years agoFixed a build warning.
Wei Wang [Fri, 18 Apr 2014 23:08:43 +0000 (16:08 -0700)]
Fixed a build warning.

Change-Id: I34885d6e588855d3ca8192db8a54b43ef348c794

10 years agoMerge "LE: Add controller based advertising filter API (2/2)" into klp-wireless-dev
Wei Wang [Fri, 18 Apr 2014 22:33:41 +0000 (22:33 +0000)]
Merge "LE: Add controller based advertising filter API (2/2)" into klp-wireless-dev

10 years agoLE: Add controller based advertising filter API (2/2)
Andre Eisenbach [Thu, 21 Nov 2013 01:23:06 +0000 (17:23 -0800)]
LE: Add controller based advertising filter API (2/2)

Change-Id: I444654bf19a048d5fcef33f79edbf1cdda3d3b62

10 years agoEliminate warnings, add -Wall and -Werror to all projects.
Sharvil Nanavati [Fri, 18 Apr 2014 05:32:05 +0000 (22:32 -0700)]
Eliminate warnings, add -Wall and -Werror to all projects.

This change enables all warnings and treats warnings as errors. As
a result, nobody should be able to submit new code to bluedroid
that contains compiler warnings. Instead, they should fix the warnings
before submitting.

This change has already caught a type mismatch bug in
stack/avrc/avrc_api.c where an integer was being stored in a boolean.

Change-Id: Ic41960754b39a1a6aa37f1c1095003195f466183

10 years agoRewrite PAN_Write in terms of PAN_WriteBuf.
Sharvil Nanavati [Sat, 5 Apr 2014 06:57:10 +0000 (23:57 -0700)]
Rewrite PAN_Write in terms of PAN_WriteBuf.

The original code looked copy/pasted. The new implementation still
results in the same number of buffer copies but is much easier to
read and reduces redundancy.

Change-Id: I3ace395d2b124074e9687d13ae9a1b0b93a25a31

10 years agoMerge "Remove unused file gki_inet.h and BIG_ENDIAN macro." into klp-wireless-dev
Sharvil Nanavati [Thu, 17 Apr 2014 17:50:13 +0000 (17:50 +0000)]
Merge "Remove unused file gki_inet.h and BIG_ENDIAN macro." into klp-wireless-dev

10 years agoMerge "Bluetooth: GAP: Send bond none in case of temp pairing" into klp-wireless-dev
Matthew Xie [Thu, 17 Apr 2014 04:54:50 +0000 (04:54 +0000)]
Merge "Bluetooth: GAP: Send bond none in case of temp pairing" into klp-wireless-dev

10 years agoMerge "LE: Add API to configure MTU for a given connection (2/4) This patch from...
Zhihai Xu [Wed, 16 Apr 2014 21:35:43 +0000 (21:35 +0000)]
Merge "LE: Add API to configure MTU for a given connection (2/4) This patch from broadcom(andre) bug:13571470 Change-Id: I932905590ee9c40cb67e7d09715c0f8e59d2f662" into klp-wireless-dev

10 years agoLE: Add API to configure MTU for a given connection (2/4)
Zhihai Xu [Tue, 25 Mar 2014 13:31:17 +0000 (06:31 -0700)]
LE: Add API to configure MTU for a given connection (2/4)
This patch from broadcom(andre)
bug:13571470
Change-Id: I932905590ee9c40cb67e7d09715c0f8e59d2f662

10 years agoMerge "remove all advertised services in SDP btif_av_init is called twice. Don't...
Zhihai Xu [Wed, 16 Apr 2014 19:05:22 +0000 (19:05 +0000)]
Merge "remove all advertised services in SDP btif_av_init is called twice. Don't need call it in enable. disable EDR ATT SDP record" into klp-wireless-dev

10 years agoremove all advertised services in SDP
Zhihai Xu [Sat, 5 Apr 2014 07:25:20 +0000 (00:25 -0700)]
remove all advertised services in SDP
btif_av_init is called twice. Don't need call it in enable.
disable EDR ATT SDP record

bug:13558005
Change-Id: Id834697eae150018f9a0382d9c1e6c972e885739

10 years agoMerge "open GATT client didn't reserve the BLE link if open after connected." into...
Zhihai Xu [Wed, 16 Apr 2014 19:03:38 +0000 (19:03 +0000)]
Merge "open GATT client didn't reserve the BLE link if open after connected." into klp-wireless-dev

10 years agoopen GATT client didn't reserve the BLE link if open after connected.
Zhihai Xu [Mon, 3 Mar 2014 20:50:13 +0000 (12:50 -0800)]
open GATT client didn't reserve the BLE link if open after connected.

need to reserve the BLE link to avoid BLE disconnection.
BTA_GATTC_OPEN_ERROR won't resereve the BLE link usage.
use BTA_GATTC_OPEN instead of BTA_GATTC_OPEN_ERROR to reserve the
BLE link. other the stack disconnect the BLE link due to no Gatt interface
use this connection.

bug:13228455
Change-Id: I1f9daa2171668f2ae535d998b401f1f0825d0451

10 years agoMerge "Workaround IPHONE problem" into klp-wireless-dev
Zhihai Xu [Wed, 16 Apr 2014 19:02:29 +0000 (19:02 +0000)]
Merge "Workaround IPHONE problem" into klp-wireless-dev

10 years agoWorkaround IPHONE problem
Zhihai Xu [Tue, 18 Mar 2014 22:27:05 +0000 (15:27 -0700)]
Workaround IPHONE problem

When we send LL_ENC_REQ to iphone early, iphone didn't send
LL_ENC_RESPONSE back to us, later the iphone will disconnect from us.
The workaround is to send LL_ENC_REQ after receive first ATT read request
from iphone, Iphone will be ready at that time by experiment.

bug:13417692
Change-Id: Ic42dda36b927df260113771152cff67032b22e5f

10 years agoMerge "treat BTA_BUSY as success to avoid unpair the BLE device" into klp-wireless-dev
Zhihai Xu [Wed, 16 Apr 2014 19:01:09 +0000 (19:01 +0000)]
Merge "treat BTA_BUSY as success to avoid unpair the BLE device" into klp-wireless-dev

10 years agotreat BTA_BUSY as success to avoid unpair the BLE device
Zhihai Xu [Thu, 13 Mar 2014 22:21:37 +0000 (15:21 -0700)]
treat BTA_BUSY as success to avoid unpair the BLE device

when switch from peripheral mode, both server and client will
call btif_gatt_check_encrypted_link, the first call will start the
encryption. the second call will get callback with BTA_BUSY status,
before encryption complete, which cause unpair with the remote device.
we shouldnot treat BTA_BUSY as error.

bug:13417692
Change-Id: I065432dde2553e8ccee3a14a7b321b85bca8d3ba

10 years agoMerge "print MTU size after get MTU request from iphone." into klp-wireless-dev
Zhihai Xu [Wed, 16 Apr 2014 18:52:15 +0000 (18:52 +0000)]
Merge "print MTU size after get MTU request from iphone." into klp-wireless-dev

10 years agoprint MTU size after get MTU request from iphone.
Zhihai Xu [Fri, 21 Mar 2014 00:50:12 +0000 (17:50 -0700)]
print MTU size after get MTU request from iphone.

bug:13568537
Change-Id: If1a4e93b7ef53662bd740da0d3bb91fe747de031

10 years agoMerge "support resolve BLE random mac address for both central and peripheral mode...
Zhihai Xu [Wed, 16 Apr 2014 18:50:54 +0000 (18:50 +0000)]
Merge "support resolve BLE random mac address for both central and peripheral mode." into klp-wireless-dev

10 years agosupport resolve BLE random mac address for both central and peripheral mode.
Zhihai Xu [Tue, 11 Mar 2014 22:01:45 +0000 (15:01 -0700)]
support resolve BLE random mac address for both central and peripheral mode.

bug:12990335
Change-Id: Ica42dcf039487b7b01454ce9255f3f6fae2faaaf

10 years agoMerge "support peripheral mode feature to connect iphone to android device." into...
Zhihai Xu [Wed, 16 Apr 2014 18:46:26 +0000 (18:46 +0000)]
Merge "support peripheral mode feature to connect iphone to android device." into klp-wireless-dev

10 years agosupport peripheral mode feature to connect iphone to android device.
Zhihai Xu [Mon, 10 Feb 2014 18:57:13 +0000 (10:57 -0800)]
support peripheral mode feature to connect iphone to android device.

enable BLE_PERIPHERAL_MODE_SUPPORT flag and fix the bug
the discoverability flag is not set in advertisement packet,
which cause the central device(iphone) can not find android device
during scan.
use displayOnly IO cap for dory, so dory can display the pin,
and the iphone(central device) will input the pin.
bug:12797572

Change-Id: Ie15ea9e340e3692df846399b9a85aa6d2a97eba7

10 years agoMerge "increase the bluetooth task priority when start a2dp." into klp-wireless-dev
Zhihai Xu [Wed, 16 Apr 2014 18:22:08 +0000 (18:22 +0000)]
Merge "increase the bluetooth task priority when start a2dp." into klp-wireless-dev

10 years agoincrease the bluetooth task priority when start a2dp.
Zhihai Xu [Wed, 8 Jan 2014 19:45:17 +0000 (11:45 -0800)]
increase the bluetooth task priority when start a2dp.

change the BT task priority based on audio play state.
increase the BT task priority to ANDROID_PRIORITY_URGENT_AUDIO
,when start ad2p audio playing.
to better prevent CPU premption by other process/task(UI).
restore the BT task priority when stop a2dp audio playing.

bug:12082841
Change-Id: I34e8344cffea87f68987149c820cd3e84a4196d1

Conflicts:
utils/include/bt_utils.h

10 years agoCompile using C99.
Sharvil Nanavati [Sat, 5 Apr 2014 07:44:19 +0000 (00:44 -0700)]
Compile using C99.

Change-Id: Ifda03e0b3ee3a915bf7ce5a5dce27e5e215dcce2

Conflicts:
bta/Android.mk
gki/Android.mk
main/Android.mk
stack/Android.mk
test/bluedroidtest/Android.mk

10 years agoBluetooth: GAP: Send bond none in case of temp pairing
Hemant Gupta [Tue, 24 Dec 2013 14:29:57 +0000 (19:59 +0530)]
Bluetooth: GAP: Send bond none in case of temp pairing

Send BOND_NONE in case of temporary device pairing on
receiving the authentication complete, so that UI
doesn't get stucked in pairing for that device.

Change-Id: Ided412ef89d928f958a0052362be145232411c0a

10 years agoRemove unused file gki_inet.h and BIG_ENDIAN macro.
Sharvil Nanavati [Mon, 14 Apr 2014 04:26:56 +0000 (21:26 -0700)]
Remove unused file gki_inet.h and BIG_ENDIAN macro.

Change-Id: I52bb7befdff6138dce4ce74ebd65d4e3763b82aa

10 years agoRemove executable bit on source files.
Sharvil Nanavati [Sun, 13 Apr 2014 06:01:10 +0000 (23:01 -0700)]
Remove executable bit on source files.

Change-Id: Id456478aea626f57fed3479346e8fb4dbd0fafa6

10 years agoDO NOT MERGE: LE: Add status callback function for LE broadcasts
Andre Eisenbach [Wed, 5 Mar 2014 23:41:53 +0000 (15:41 -0800)]
DO NOT MERGE: LE: Add status callback function for LE broadcasts
Cherry pick from master

Change-Id: If4342050ce1141a9c2111286e7b3cccdc012a91e

10 years agoDO NOT MERGE Revert "external/bluetooth/bluedroid: convert LOCAL_MODULE_PATH to LOCAL...
Matthew Xie [Wed, 19 Mar 2014 20:47:12 +0000 (13:47 -0700)]
DO NOT MERGE Revert "external/bluetooth/bluedroid: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH"

This reverts commit 273789bb86ef99f5ce022bb64c601ea4ea6f8bb3.

Change-Id: I29e511a8176979a6bf311206427b94a19f06f284

10 years agoam 7d006e6b: am a69e0ae1: am 47128cf9: Merge "Bluetooth: fix sniff issue with multipl...
Matthew Xie [Mon, 24 Feb 2014 14:32:10 +0000 (14:32 +0000)]
am 7d006e6b: am a69e0ae1: am 47128cf9: Merge "Bluetooth: fix sniff issue with multiple rfcomm connection in same ACL"

* commit '7d006e6b176172cb370cc183b4f2eab501e85c7c':
  Bluetooth: fix sniff issue with multiple rfcomm connection in same ACL