Age | Commit message (Collapse) | Author |
|
memset the addr variable.
Change-Id: I3a3567145985ba425ebf8e4b21d426dcb490dbf5
|
|
The AVDTP spec allows for a race condition between remote and local
device when issuing an AVDTP_START cmd on a stream in the OPEN state.
However, the internal state must continue to be consistent. For example,
suppose that avdtp_start() has been called while in the OPEN state and
a AVDTP_START cmd is sent. Now before we have received a response (and
thus entered the STREAMING state), we *receive* a START cmd. Prior to
this fix, since the sep is still in the OPEN state, we would accept
the new START cmd. This will leads us to send both a Start_Ind and
Start_Cfm - not good.
Now, we track this transitional state (starting == TRUE).
NB - 'starting' is only in a valid state while the sep is in the
OPEN state. 'starting' is reset when we return to the OPEN state.
|
|
When we disconnect an A2DP device by immediate power off and quickly
also initiate a disconnection from our side, a crash is occurring. This
is happening because of the disconnect_timeout coming after freeing the
session.
|
|
Before we power down HCI dev, we should disable Bluetooth chip scan mode so that
the chip set would not repond to device outside inquiry and page.
bug 5080232
Change-Id: I357a300ad61332c6f95376c0690602cf396e5973
|
|
|
|
This reverts commit 6b08f121c817cda19431fa472c9640733df05d6f
|
|
|
|
Before we power down HCI dev, we should disable Bluetooth chip scan mode so that
it saves power.
bug 5080232
Change-Id: I28a761ebcb14c0a4215c53ed82e4ff9430a32250
|
|
If cancel is pressed on the pin request dialog (for non SSP case),
auth request continues in a loop. Add additional checks for
the auth agent.
This is a gross temporary hack till we move to the mgmt interface.
Change-Id: I565a75698cb4fa1c2ed8c93ed6198b05a1a7b8af
|
|
|
|
Fix Paired device property if 'No Bonding' authentication is used. It is
set to be false when device is disconnected and no link key is stored.
Otherwise, there can be cases when device is still valid and being
claimed as paired without available bonding information.
For instanse, use of CreateDevice method call and obex client file
transfer is such use case.
|
|
SDP_ATTR_EXTERNAL_NETWORK is not part of the HS specification.
Original Author: Jh Kim
Change-Id: Ic649e7532acabfbbb9adeaa1db3e7c8e51d3fd19
|
|
When Bonding was failing due to authentication
failure, this error report was not being sent to the caller,
because cancel_bonding was being called from btd_event_conn_failed,
which was sending the wrong error code back.
Change-Id: I2816d714fc85c499d0d4850733e33807f3073217
|
|
utility for CSR bluetooth modules"
* commit 'cfd4fe3f0bf605978fc72efada90060efbeb16c3':
Add make file to build bccmd utility for CSR bluetooth modules
|
|
modules"
* commit 'f3d1a2c3f2005451f40cfa48782ee5aebebe784e':
Add make file to build bccmd utility for CSR bluetooth modules
|
|
|
|
|
|
|
|
Bug: 5010576
Change-Id: I95b5e51b909c5ed7bc7c61c441f9b315f2b4db27
|
|
Change-Id: Ic15f9dc50ad4643e8272c62ed9134ab09f7d0966
|
|
This makes it easier to decipher in the PRODUCT_PACKAGE
section of build files.
Change-Id: Iee1860fd350a17a77f57d30647f54f3ff3833284
|
|
Change-Id: I88ab8e0191e67fb09f9a271190993592fcab0484
|
|
Change-Id: Idb06aa33dc60eb4b1769335fc6c07ff007ccf090
Signed-off-by: Dima Zavin <dima@android.com>
|
|
This patch adds make file to support building bccmd utility,
which is needed by CSR bluetooth modules.
To build bccmd utility, set BOARD_HAVE_BLUETOOTH_CSR to be true.
Change-Id: I8012688cdbc3846c500eafce5831e4c74d3b3095
|
|
Change-Id: Ia76c76ab428aadb859d646059db9d65794fab3d1
|
|
|
|
Change-Id: I03f277e6ed28538bb1618b6161994459efaa4d1b
|
|
Change-Id: Idc8204629b859ef3873afc4d303a61308af14a07
|
|
When the a2dp_thread has finished executing one command, it signals
the client thread. Some error cases do not signal and due to this
calls to liba2dp will hang until the client thread times out.
Add signaling in error cases to avoid calls to liba2dp to hang.
Change-Id: Ic6eae5af3ed4f40c0eb022aba35ed4e0d3f81904
|
|
Change-Id: Ic3d8c530441a26074f6baabb7ea05182d5c03b1e
Signed-off-by: Dima Zavin <dima@android.com>
|
|
Added missing initialization of output stream pointer in
device struct and test on valid output stream in set_parameters()
Change-Id: I162c410968dcbd6ed89f939c42bd48dbfe390a71
|
|
Change-Id: Ia01ea6f9caf51756d9d45a6068a8e2dc4bf7d49e
Signed-off-by: Dima Zavin <dima@android.com>
|
|
When discovery times out, we were not setting the mode appropriately.
Thus, if the adapter is turned off and on, we will get the incorrect mode.
Also add a forward declaration for the introduced circular dependency.
|
|
When two SSP devices are paired and the other end
deletes the link key, any connection requests requiring
authentication will fail with the error code "PIN or Key missing".
In such a case, the link key has to be deleted and authentication
tried again.
Note: This is a temporary fix. The new management interfaces
will consolidate all the SSP logic.
Change-Id: I517b081c0014e75507554604dc45ae44f15050c4
|
|
This fixes bluetoothd taking a lot of CPU when local
NAP role connection is disconnected.
Change-Id: I8be15622d4dc3bb1a33867e6472b899928473d40
|
|
Change-Id: I40043877b9718a8c0287869a61f0a7b4620d5091
|
|
There is no way to add SDP records by just specifying the uuid.
Since Android doesn't use all profiles on Bluez directly,
we need one such API to add the SDP records.
Change-Id: I560d3f2bad60afd317fbf0465281e901d2fcbae5
|
|
BT_POWER socket option is used to control the power
characteristics of the underlying ACL link. Currently, this is
used to set the ACL link to active mode when the remote end has put
the ACL link in sniff mode and we are sending data. By default,
the ACL link will always be moved to active mode. However, this
causes problems with HID devices. And hence, for HID devices the
ACL link will not be moved to active mode when we are sending data.
This socket option is implemented for both rfcomm and l2cap sockets.
Change-Id: I0261a8daa2241d691670cc690cd27c39c67c1591
|
|
Original commit: c3d03f1916d453eabbc5e3d58f6926dcaba2c4df
update by Jaikumar Ganesh for Bluez upmerge.
|
|
Change-Id: I6eaf6b2ad1eb99c0c163d4d1131d851ec6781cb6
|
|
Android only supports category 1 keys.
Change-Id: I0760b7a8f49ff9e21dbd28cb3a5ce486209a30c3
|
|
If we don't shut it down, the watches don't get triggered
for future events. This is similar to incoming connections
for input and audio.
Change-Id: I4acd91527d909b1018856105dcc07bb61053e916
|
|
This is used to set ACL priorities which allows
for better A2DP streaming.
Change-Id: I8b5f651d3dd3eff400db226c56df42025795ebb8
|
|
This makes it similar to outgoing connections.
Change-Id: I09fe2a9cc2d06d2b6ca1b8c98b6c8ccdc63306b5
|
|
Android doesn't support import of iCal, vNote, vMessage, vCal
at this point. So don't advertise these formats.
Based on a report by: hyungseoung.yoo@samsung.com
Change-Id: Ifa14844570b893775c45784a31cfeb24e8fd88b1
|
|
interface.
Change-Id: I893a48d6568a2e3048d754788a7e33f0c5549a0d
|
|
For all kinds of tethering we want to have a single place
where the interface is added to the bridge to avoid multiple
failure points.
Change-Id: I517e6d00e2953bc5ca008492367c48e3fa18a155
|
|
Change-Id: I6a78c16cc55c2e76c76d4135ca4abe82b0915197
|
|
Bug: 2719204
Dr No: Eastham / Jsh
Change-Id: I03d8d6761d8b114e2cdf95ed0fab86c7cb61e469
|
|
There are several problems in liba2dp.c:
1 There is a bug in bluetooth_parse_capabilities(): the capabilities field pointer increment
in the while loop is wrong and in case the first capabilities field is not the one we need
we end up reading undefined data.
2 In the same while loop there is no protection for infinite looping if the length of the
capabilities field is 0.
3 When start or configure fail, we just reset state to A2DP_STATE_INITIALIZED to force a new
configuration attempt. This is bad as we don't close the connection and configure expects a
closed connection. Subsequent configure attempts will fail reading sbc capabilites.
4 When there is a problem executing a command in a2dp_thread() loop, we do not reset current command
which prevents from executing the same command again.
Here is what happens in this issue:
There is an error in the A2DP start request because the headset has been disconnected and we go back to configure.
Because of problem 3, the connection is still opened when we run configure again and the 1st capabilitites
field lock indicator is set. We try to read next field and because of problems 1 & 2 we end up looping here for ever.
As data->mutex is locked, it cannot be acquired by pthread_cond_timedwait() trying to exit in
wait_for_start() and the timeout mechanism fails. We stay locked here with A2dpAudioInterface::A2dpAudioStreamOut::mLock also
locked as we are in A2dpAudioInterface::A2dpAudioStreamOut:write().
When system_server tries to disable bluetooth A2DP, A2dpAudioInterface::A2dpAudioStreamOut::setBluetoothEnabled()
tries to acquire mLock and system_server is also deadlocked.
Change-Id: I785250fe65651ec6fc2ae01a4250a61f2fd43908
|